Speicherbedarf eines Prozesses
Andre Landwehr
andrel at cybernoia.de
Mon Apr 19 12:40:16 CEST 2010
Am Montag, den 19.04.2010, 11:54 +0200 schrieb Sascha Effert:
> ich habe in C++ eine shared library und ein Programm, welches dies
> benutzt geschrieben. Ich würde jetzt gerne mit dem Speicherbedarf
> experimentieren, speziell mit dem, was durch die shared lib verbraucht
> wird. Momentan habe ich dazu das Programm gestartet und regelmäßig mit
> ps -p $PID -o rss h
> den genutzten Speicherbedarf abgefragt. Habe ich damit wirklich den
> gesamten Speicher, den der Prozess benötigt? Ich muss gestehen, ich
> blicke durch die verschiednen Parameter nicht durch.
Meiner Erfahrung nach ist es absolut nicht trivial, den
Speicherverbrauch eines Prozesses mit Linux Bordmitteln herauszufinden.
Shared libs wie z.B. die glibc fressen eine Menge Platz, werden aber von
mehr als einem Prozess genutzt usw., da kann man auch schlicht keine
Angaben zu machen.
Was du relativ einfach ermitteln kannst, ist wie viel Speicher du selbst
allozierst. Dafür einfach global malloc/free bzw. new und delete
überladen und mitzählen. Ansonsten ist getrusage vermutlich schon die
beste Lösung, oder halt in proc/[pid]/statm schauen, steht das gleiche
drin (wobei du das pollen und händisch auswerten müsstest).
> Da ich die Anwendung selbst geschrieben habe, könnte ich auch an
> passenden Stellen die Methode getrusage aufrufen:
> http://linux.die.net/man/2/getrusage
> Leider ist mir auch hier wieder nicht ganz klar, worüber ich die gesamte
> Menge des verwendeten Speichers meines Prozesses erhalte.
ru_idrss und ru_isrss sind auf jedenfall klar deinem Prozess zuzuordnen,
der shared memory aus o.g. Gründen halt nicht.
Gruß, Andre
--
Andre Landwehr, Ricklinger Stadtweg 42, D-30459 Hannover
Phone: +49-(0)511-1054932, Mobile: +49-(0)175-4648375
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: <http://lug-owl.de/pipermail/linux/attachments/20100419/abaf5822/attachment.sig>
More information about the Linux
mailing list