Ich möchte den Speicherbedarf einer Java-Applikation ermitteln und erhalte diese Werte:
|
Quellcode
|
1
2
3
|
ps -Ao pid,rss,vsz,command | grep TEST
3062 30856 172348 java -Xms20m -Xmx20m -classpath TEST:./build/classes:../ib/build/classes:../util/build/classes: test.MainFrame server development
|
Das Programm verbraucht also angeblich
rss = 30 MB physikalischen Speicher
vsz = 170MB virtuellen Speicher
Das kann für den virtuellen Speicher aber imho nicht sein (selbst bei Java nicht).
Dazu kommt: Wenn ich mir in der Systemüberwachung die Werte für den virtuellen Speicher über alle Prozesse zusammenrechne, komme ich locker auf über 2 GB. Das kann aber auch nicht sein, da meine Swap-Partition nur 1 GB groß ist.
Ich vermute also, dass die Angaben von ps (oder auch top oder der Systemüberwachung) zumindestens für den verbrauchten virtuellen Speicher falsch sind. Kann das sein?
Anders gefragt: Wie bekomme ich korrekte Werte für den genutzten physikalischen und virtuellen Speicher?
Herzlicher Gruß,
lacarpe