Lösung 1:
Nein, der Algorithmus ist nicht so simpel. Weitere Informationen finden Sie unter:
http://linux-mm.org/OOM_Killer
Wenn Sie die Speichernutzung verfolgen möchten, empfehle ich die Ausführung eines Befehls wie:
ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head
Es gibt Ihnen eine Liste der Prozesse, die den meisten Speicher verwenden (und wahrscheinlich die OOM-Situation verursachen). Entfernen Sie den | head
wenn Sie lieber alle Prozesse überprüfen möchten.
Wenn Sie dies auf Ihrem Cron ablegen, wiederholen Sie es alle 5 Minuten und speichern Sie es in einer Datei. Bewahren Sie mindestens ein paar Tage auf, damit Sie später nachsehen können, was passiert ist.
Für kritische Dienste wie ssh würde ich empfehlen, monit zu verwenden, um sie in einer solchen Situation automatisch neu zu starten. Es kann verhindern, dass Sie den Zugriff auf die Maschine verlieren, wenn Sie keine Remote-Konsole dafür haben.
Viel Glück,
João Miguel Neves
Lösung 2:
Damit habe ich mich in letzter Zeit schwer getan, denn die Prozesse, auf denen der Oom-Killer herumtrampelt, sind nicht unbedingt diejenigen, die schief gelaufen sind. Bei dem Versuch, das zu diagnostizieren, lernte ich eines meiner jetzt bevorzugten Tools kennen, atop.
Dieses Dienstprogramm ist wie ein Top auf Steroiden. Über ein voreingestelltes Zeitintervall werden Systeminformationen profiliert. Sie können es dann wiedergeben, um zu sehen, was los ist. Es hebt Prozesse ab 80 % blau und über 90 % rot hervor. Die nützlichste Ansicht ist eine Speichernutzungstabelle, die zeigt, wie viel Speicher im letzten Zeitraum zugewiesen wurde. Das hat mir am meisten geholfen.
Fantastisches Tool - kann nicht genug darüber sagen.
auf dem Leistungsmonitor