Soluzione 1:
No, l'algoritmo non è così semplicistico. Puoi trovare ulteriori informazioni in:
http://linux-mm.org/OOM_Killer
Se vuoi tenere traccia dell'utilizzo della memoria, ti consiglio di eseguire un comando come:
ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head
Ti fornirà un elenco dei processi che utilizzano più memoria (e probabilmente causano la situazione OOM). Rimuovi | head
se preferisci controllare tutti i processi.
Se lo metti sul tuo cron, ripetilo ogni 5 minuti e salvalo in un file. Conserva almeno un paio di giorni, così potrai controllare cosa è successo in seguito.
Per servizi critici come ssh, consiglierei di utilizzare monit per riavviarli automaticamente in una situazione del genere. Potrebbe evitare di perdere l'accesso alla macchina se non si dispone di una console remota.
Buona fortuna,
João Miguel Neves
Soluzione 2:
Ho passato un periodo difficile con quello di recente, perché i processi su cui l'oom-killer calpesta non sono necessariamente quelli che sono andati male. Durante il tentativo di diagnosticare ciò, sono venuto a conoscenza di uno dei miei strumenti preferiti, in cima.
Questa utility è come una cima agli steroidi. In un intervallo di tempo prestabilito, profila le informazioni di sistema. Puoi quindi riprodurlo per vedere cosa sta succedendo. Evidenzia i processi che sono oltre l'80% in blu e oltre il 90% in rosso. La vista più utile è una tabella di utilizzo della memoria di quanta memoria è stata allocata nell'ultimo periodo di tempo. Questo è quello che mi ha aiutato di più.
Strumento fantastico:non posso che elogiarlo.
in cima al monitor delle prestazioni