Então, meu amigo diz que swap é um conceito antigo e não deveria ser necessário em novos sistemas, desde que você tenha RAM suficiente. Mas então ouvi sugestões de que swap pode realmente ser necessário ao usar Postgres no Linux ou mesmo Unix porque malloc
/ free
não retornará memória para o sistema. Disseram-me que isso é um recurso, não um bug, e que eu deveria usar swap porque o sistema usará swap para a memória liberada... Isso está correto ou estou esquecendo de algo? Alguém pode confirmar isso e talvez lançar mais luz sobre isso?
Minha configuração para contexto:
- Configuração PGSQL:
shared_buffers
+ (temp_buffers
+work_mem
) *max_connections
= 20 GB; - O PGSQL é a versão 16, o servidor está no Ubuntu 22.
- O servidor tem 50 GB de RAM e 0 swap. O ZFS ARC tem no máximo 8 GB.
- Na verdade, estou vendo 20 GB ultrapassados depois de algumas horas.
- Vejo picos no uso de RAM a cada dia. 50 GB são atingidos em 5 a 7 dias (cai para 0 na reinicialização do PGSQL).
Esse é o contexto. Essencialmente, a questão é: eu preciso, ou devo, ter swap para uma VM com servidor Postgres ou não?