![Warum unterscheidet sich der Speicher (RSS) des PS-Befehls vom Speicher, der im Top-Befehl angezeigt wird?](https://rvso.com/image/170281/Warum%20unterscheidet%20sich%20der%20Speicher%20(RSS)%20des%20PS-Befehls%20vom%20Speicher%2C%20der%20im%20Top-Befehl%20angezeigt%20wird%3F.png)
Wenn ich hier unter MacOS Catalina die Speichernutzung eines Prozesses überprüfe, sehe ich, dass der ps
Befehl einen RSS-Wert anzeigt, der sich von der oben angezeigten Speichernutzung unterscheidet:
$> ps e -o command,vsize,rss,%mem|grep "myapplication"|head -n 1
myapplication 4594896 51364 0.3
RSS -> 51364
top
PID COMMAND %CPU TIME #TH #WQ #PORT MEM
48106 myapplication 115.7 09:06.12 69/1 1 101 37M+
Speicher -> 37M
Warum dieser Unterschied?
AKTUALISIEREN:
Ein weiteres Beispiel mit IntelliJ-Prozess:
top -pid 357
PID COMMAND %CPU TIME #TH #WQ #POR MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD
357 idea 2.6 03:16:46 112 1 925 4906M 0B 1583M 357 1 sleeping 0[2884] 0.00000 0.00000 281451937 28337096 54627 8404446+ 2733245+ 156093159+
Top-Sendungen4906M
ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
xxxxxxx 357 3.6 14.5 180050484 2430728 ?? S 1:44PM 196:48.70 /Applications/IntelliJ IDEA.app/Contents/MacOS/idea -psn_0_73746
ps zeigt RSS2430728(KB)
Antwort1
Der wahrscheinlichste Grund ist, dass „ps“ den residenten Speicher anzeigt, während „top“ den Gesamt- oder virtuellen Speicher anzeigt (z. B. einschließlich ausgelagertem und gemeinsam genutztem Speicher).
Es gibt viele Fragen dazu, darunterhttps://stackoverflow.com/questions/7880784/was-ist-rss-und-vsz-in-linux-speicherverwaltungaber deshalb sind es hier unterschiedliche Werte.