OOM-Killer hat ab und zu angerufen

1732
SpyrosP

Ich habe einen dedizierten Server, auf dem ich installiert habe apache2, sowie rails-passenger. Obwohl ich 2 GB RAM habe und die meisten Zeiten ungefähr 1,5 GB frei sind, gibt es einige gelegentliche Zeiten, in denen ich lose sshund generische Konnektivität verliere, weil oom-killerProzesse absterben .

Ich nehme an, es gibt ein Speicherleck, aber ich kann nicht herausfinden, woher es kommt. oom-killertötet apache2, mysql, passengerund was auch immer.

Gestern habe ich ein cat syslog | grep -c oom-killerund habe 57 Vorfälle!

Es scheint, dass etwas die Erinnerung ernsthaft zerstört. Nach dem Neustart wird alles wieder normal. Ich vermute, dass es damit zu tun haben kann passenger, aber ich versuche immer noch, es herauszufinden.

Können Sie sich eine andere Ursache vorstellen oder haben Sie etwas zu vermuten, das die Lecksuche erleichtern würde? Ich dachte sogar daran, ein bash-Skript zu schreiben, mit dem ich cronalle 5 Minuten laufen würde .

5
Ja, bis Sie mit einem Skript herausfinden, welche Prozesse wachsen, wann und wie schnell, ist dies keine zu beantwortende Frage. SilverbackNet vor 13 Jahren 0

1 Antwort auf die Frage

1
Waxhead

Der Linux-Kernel überlastet standardmäßig den Arbeitsspeicher, sodass ein Programm manchmal nicht genügend Arbeitsspeicher zuordnen kann und der OOM stattdessen einen zufälligen Prozess startet und beendet. Wenn Sie dies deaktivieren, können Sie möglicherweise feststellen, welche Anwendung Speicher stiehlt. Wenn beispielsweise eine Anwendung plötzlich einen großen Speicherplatz zuweist, schlägt sie fehl (und gibt hoffentlich eine Fehlermeldung zurück). Bei anderen Anwendungen schlägt möglicherweise auch die Speicherzuordnung fehl. Sie sollten also auf einen falschen positiven Wert achten.

echo 2> / proc / sys / vm / overcommit_memory