A resposta curta, para um servidor, é comprar e instalar mais RAM.
Um servidor que rotineiramente experimentou erros de OOM ( falta de memória) e, além da opção de sysctl de confirmação excessiva do gerente de VM (memória virtual) nos kernels do Linux, isso não é uma coisa boa.
Aumentar a quantidade de swap (memória virtual que foi paginada em disco pelo gerenciador de memória do kernel) ajudará se os valores atuais forem baixos e o uso envolver muitas tarefas, com uma quantidade tão grande de memória, em vez de uma ou poucas processa cada um solicitando uma quantidade enorme da memória virtual total disponível (RAM + troca).
Para muitos aplicativos que alocam mais de duas vezes (2x), a quantidade de RAM como troca fornece um retorno menor sobre a melhoria. Em algumas simulações computacionais grandes, isso pode ser aceitável se a desaceleração da velocidade for suportável.
Com a RAM (ECC ou não), é bastante acessível para quantidades modestas, por exemplo, de 4 a 16 GB, devo admitir que não tenho esse problema há muito tempo.
O básico para analisar o consumo de memória, incluindo o uso free
e top
, classificado por uso de memória, como as duas avaliações rápidas mais comuns dos padrões de uso de memória. Portanto, não deixe de entender o significado de cada campo na saída desses comandos.
Sem especificações específicas de aplicativos (por exemplo, banco de dados, servidor de serviço de rede, processamento de vídeo em tempo real) e o uso do servidor (poucos usuários avançados, 100-1000s de conexões usuário / cliente), não consigo pensar em nenhuma recomendação geral sobre como lidar com o problema OOM.