• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

von einen bestimmten Prozess RAM verbauch

Hallo

ich habe eine Frage wie kann ich von einen Prozess den Ram verbauch anziegen lassen und dies nicht in Prozent sondern in MB?

schonmal danke im voraus
 
ps bietet laut manpage als Ausgabeoption die "memory size in kilobytes" an.
Ungefähr so:
Code:
ps -Ao pid,size
Natürlich lassen sich auch weitere Ausgaben machen ...
 
Da sind aber leider auch Shared Objects mit drin. (Bei RSS/VSZ umso mehr)
Code:
size       SZ       approximate amount of swap space that would be required if
                    the process were to dirty all writable pages and then be
                    swapped out. This number is very rough!
Aber nicht-dirty writable pages belegen ja kein RAM (except Verwaltungsstrukturen), also messe man ohne: pmap_dirty
 
jengelh schrieb:
Aber nicht-dirty writable pages belegen ja kein RAM (except Verwaltungsstrukturen), also messe man ohne: pmap_dirty
Man könnte sich aber auch an das halten, was zum Beispiel der Gnome "System Manager" in der Prozessliste anzeigt.
Hier hätte man Einträge für:
1. Resident Memory
sowie unter "more info"
2. Total (entspricht ps-option vsize)
3. RSS (entspricht ps-option rss)
4. Shared

... wobei ich nicht nachvollziehen kann, wie die Werte 1. und 4. zustande kommen.
 
notoxp schrieb:
jengelh schrieb:
Aber nicht-dirty writable pages belegen ja kein RAM (except Verwaltungsstrukturen), also messe man ohne: pmap_dirty
Man könnte sich aber auch an das halten, was zum Beispiel der Gnome "System Manager" in der Prozessliste anzeigt.
Hier hätte man Einträge für:
1. Resident Memory
sowie unter "more info"
2. Total (entspricht ps-option vsize)
3. RSS (entspricht ps-option rss)
4. Shared

... wobei ich nicht nachvollziehen kann, wie die Werte 1. und 4. zustande kommen.
Ganz einfach. pmap sagt dir das.

Resident Memory/Resident Set Size (RSS) = Alle Mappings (read oder write, dirty oder nicht, shared oder nicht) des Prozesses, die sich gegenwärtig im Hauptspeicher befinden.
SWAP = Alle Mappings des Prozesses, die gegenwärtig ausgelagert sind.
Virtual Set Size (VSZ) = RSS + SWAP
Dirty = RSS - shared.
 
Hi,

eigentlich müßten die C/C++-Debug-Tools wie

http://valgrind.org/

das können. Kann jemand damit umgehen (ich irgendwie nicht) ?

Gruß
 
Oben