Não, o algoritmo não é tão simplista. Você pode encontrar mais informações em:
Se você quiser rastrear o uso da memória, recomendo executar um comando como:
ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head
Ele fornecerá uma lista dos processos que estão usando a maior parte da memória (e provavelmente causando a situação da OOM). Remova o | head
se você preferir verificar todos os processos.
Se você colocar isso no seu cron, repita-o a cada 5 minutos e salve-o em um arquivo. Mantenha pelo menos dois dias, para verificar o que aconteceu mais tarde.
Para serviços críticos como o ssh, recomendo usar o monit para reinicializá-los automaticamente em tal situação. Ele pode economizar na perda de acesso à máquina se você não tiver um console remoto.
Boa sorte,
João Miguel Neves