GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man Ursachen für Oom-Killer-Tötungsprozesse diagnostiziert

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


Linux
  1. Wie teste ich Oom-Killer über die Befehlszeile?

  2. So beenden Sie laufende Prozesse in Linux

  3. Wie kann ich die Top-Prozesse nach tatsächlicher Speichernutzung sortiert anzeigen?

  4. Wie listet man Prozesse auf, die an ein Shared-Memory-Segment in Linux angehängt sind?

  5. Wie kann ich die Speicherbandbreite beobachten?

So löschen Sie den Auslagerungsspeicher unter Linux

So finden Sie die Top 10 der laufenden Prozesse nach Speicher- und CPU-Auslastung

So finden Sie die am häufigsten ausgeführten Prozesse nach Speichernutzung

So verwenden Sie den PS-Befehl

So finden Sie die am häufigsten ausgeführten Prozesse nach Speicher- und CPU-Auslastung in Linux

Wie kann ich die Speichernutzung profilieren?