O kernel do Linux tem um chamado OOM Killer embutido. É o "Out of memory killer". Então, quando sua caixa tiver esgotado seu RAM & swap, o kernel irá começar a matar coisas para tornar o servidor acessível.
Você pode ajustar as prioridades dos processos para determinar a "probabilidade" de um processo ser eliminado. Leia mais em este link , consulte a seção "Configurando o OOM Assassino ".
Basicamente, você ajusta a probabilidade no arquivo / proc / * / oom_adj. Por exemplo. aumentar a probabilidade de matar qualquer uma das instâncias do apache atualmente em execução?
pgrep apache2 |sudo xargs -I %PID sh -c 'echo 10 > /proc/%PID/oom_adj'
Ou diminua a probabilidade de o SSH ser morto:
pgrep sshd |sudo xargs -I %PID sh -c 'echo -17 > /proc/%PID/oom_adj'
Eu também recomendo desabilitar completamente o swap em um servidor onde você tem esse problema, porque o swap é tão lento que pode atrapalhar o servidor, embora ainda haja troca de espaço, assim nunca acionando o killer da OOM.