Mailinglist Archive: opensuse-de (1081 mails)

< Previous Next >
Re: mysqld und Swap
  • From: Sandy Drobic <suse-linux@xxxxxxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 29 Jul 2008 11:06:01 +0200
  • Message-id: <488EDD79.6060305@xxxxxxxxxxxxxxxxxxxxxxx>
Carsten Boehlke wrote:
Sandy Drobic schrieb:
Carsten Boehlke wrote:
Hallo Liste

Auf meinem Opensuse 10.2 habe ich folgendes Problem. In relativ unregelmäsigen Abständen (1 Tag bis mehrer Wochen) friert der Server ein, so dass nur noch ein Hard-Reset (Root-Server beim Provider) hilft. Im message log steht dann folgender Eintrag:

Jul 22 21:08:00 www kernel: Total swap = 2096440kB
Jul 22 21:08:00 www kernel: Free swap: 0kB
Jul 22 21:08:00 www kernel: 261872 pages of RAM
Jul 22 21:08:00 www kernel: 5185 reserved pages
Jul 22 21:08:00 www kernel: 71622 pages shared
Jul 22 21:08:00 www kernel: 1 pages swap cached
Jul 22 21:08:00 www kernel: Out of Memory: Kill process 11459 (mysqld) score 125428 and children.
Jul 22 21:08:00 www kernel: Out of memory: Killed process 11459 (mysqld).
Jul 22 21:08:00 www kernel: oom-killer: gfp_mask=0x201d2, order=0

Der Server ist auf dem neusten Stand, was läuft ist ein Webserver mit CMS (Typo3). Der Server hat 1GB RAM und 2GB Swap, eigentlich nicht extrem wenig.

Was kann man da noch tun?

Grins! Mehr RAM ist immer die billigste Lösung. Wenn du stundenlang nach dem Problem suchen musst, kannst du diese Kosten auch gleich in RAM investieren.


Finde heraus, welche Prozesse den Speicher belegen und warum. Erst dann kannst du mit dem Lösen des Problems anfangen. Es kann sein, das das Problem persistent connections ist oder dass MySQL nicht genügend Verbindungen erlaubt oder was auch immer. Ohne harte Zahlen wirst du nicht weiterkommen.

Ein Script, welches die RAM-Belegung in periodischen Abständen zeigt, könnte bereits helfen. Schau dir auch mal sar an.

Hallo Sandy.

Ich lasse mir jetzt jede Minute mit sar und free die Speicherauslastung in eine Datei schreiben und der Server mailt sie mir jede Stunde zu. Alles, was ich erkennen kann ist, dass die Speicherauslastung von einer auf die andere Minute drastisch nach oben schnellt (Swap-Usage liegt bei 90%+). Das dauert ein paar Minuten, dann läuft garnichts mehr und ich muss den Server resetten.

Wenn dies so schnell erfolgt, dann ist entweder ein Prozess aus cron angestossen worden, der enorm Ressourcen verbraucht, oder der Webserver wird von vielen Anfragen bestürmt. Überprüfe beide Möglichkeiten.

Leider kann ich mit dem Output von sar und free nicht viel anfangen, lediglich die Speicherauslastung kann ich da raus lesen. Im Messages Log gibt es zu der fraglichen Zeit auch keinen Eintrag.
Irgendwelche Ideen?

Free gibt nur einen Überblick. Mehr Details verrät dies Ausgabe von top (interaktiv) oder "ps aux".

Wenn du den Prozess oder wenigstens den User identifiziert hast, dann kannst du in /etc/security/limits.conf als Reissleine einige Limits für den user setzen, die den Amoklauf in Grenzen halten, damit wenigstens der Server weiterläuft.



--
Sandy

Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com

--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups