Mailinglist Archive: opensuse-de (2782 mails)

< Previous Next >
Memory leak aufspüren
  • From: Arno Lehmann <al@xxxxxxxxxxxxxx>
  • Date: Tue, 12 Apr 2005 14:23:27 +0200
  • Message-id: <425BBDBF.5020001@xxxxxxxxxxxxxx>
Hallo allerseits.

Ich versuche immer noch einem vermuteten Memory leak auf die Spur zu kommen, bin aber weder ein guter Programmierer noch kenne ich linux so gut dass ich im Schlaf die Informationen in /proc/ interpretieren kann.

Ich schildere mal das Problem.

Wenn ein bestimmtes Programmpaket läuft (nagios 2.0b2 oder -b3, www.nagios.org) geht die Speichernutzung relativ schnell hoch und höher. In der Version -b2 bis der oom-killer anfängt das System zu zersäbeln, in der -b3 bis knapp unter 100% des verfügbaren Speichers, dann steigt er sehr viel langsamer, und dann hab' ich das Programm beendet.

Nach Ende des Programms geht die Speichernutzung nicht bzw. sehr viel später wieder auf einen Wert wie im Normalbetrieb zurück - rund 6 Stunden im kürzesten Fall, maximal? keine Ahnung, ich warte bereits 28 Stunden...

Ich ermittle den Speicherbedarf mit free:
elf:~ # free
total used free shared buffers cached
Mem: 515636 511760 3876 0 5424 14772
-/+ buffers/cache: 491564 24072
Swap: 2120540 60552 2059988
-/+ buffers used is das was ich als Wert aufzeichnen lasse.

Ach ja: Nach einem Systemstart, wenn alle Prozesse "normal" laufen liegt der Wert typischerweise um 100MB.

Nun habe ich das Problem dass ich weder mit top noch ps rauskriegen kann welche Prozesse so viel Speicher nutzen.
Jetzt im Moment z.B.:
elf:~ # ps -eopid= -osz= -ocmd= --sort=rss | awk '{print $2}' |xargs| sed -e 's/ /+/g'|bc
187415
elf:~ # ps -eopid= -orss= -ocmd= --sort=rss | awk '{print $2}' |xargs| sed -e 's/ /+/g'|bc
78640
(und bitte keine zu bösen Kommentare bzgl. dieser Technik - es funktioniert, und das reicht für mich...)

Beide Werte - RSS wie auch Size - liegen ja deutlich unter Memory used. Der Speicher wird also nicht in einer Form "verbraucht" die ich mit meinem Wissen nachvollziehen könnte, ich vermute also dass der Kernel daran beteiligt ist.

Wer kann mir weitere Tips geben wie ich dem nachgehen könnte?

Danke schonmal,

Arno

--
IT-Service Lehmann al@xxxxxxxxxxxxxx
Arno Lehmann http://www.its-lehmann.de

< Previous Next >