Frage Wie lese ich die Speicherauslastung in htop?


Es ist meine HTOP-Ausgabe:

enter image description here

Ich bin zum Beispiel von diesem Ruby-Skript verwirrt:

enter image description here

Wie viele physische Speicher verwendet es? 3+1+8+51+51? 51? 51+51?


19
2018-06-21 08:59


Ursprung


Dann ist die RES Spalte ist diejenige, die Sie betrachten möchten. - David Schwartz
Ja, ich sehe es an. Aber welches ist der Speicherverbrauch meines Skripts? Warum gibt es zwei? 51s? Benötigt es 102 Megabyte? Oder nur 51 Megabyte? Im äußeren Prozess RES enthält den inneren Prozess RES, warum die 3, 1, 8 sind alle weniger als 51? - Lai Yu-Hsuan
Es gibt zwei 51er, weil der Prozess gegabelt wurde. Es verbraucht höchstwahrscheinlich nicht 102 Megabyte, weil die beiden Prozesse jeweils die gleichen 51 Megabyte verwenden, aber Sie können nicht leicht sagen. Der andere Prozess RES enthält den inneren Prozess, wenn dieser Speicher auch in dem anderen Prozess resident ist und nicht, wenn dies nicht der Fall ist. Die RES-Felder geben an, wie viel physischer Speicher jeder Prozess verwendet, aber andere Prozesse können (oder auch nicht) denselben physischen Speicher verwenden. - David Schwartz
Wenn Sie wissen möchten, ob die beiden Prozesse denselben Speicher verwenden, verwenden Sie pmap -d <Prozess-ID> - Sirch
@ LaiYu-Hsuan: Ja, du liegst falsch. Die Seiten werden nicht kopiert, sie werden geteilt. Sie werden nur kopiert, wenn einer der Prozesse auf die Seite schreibt und dann nicht freigegeben werden kann. (Das heißt "Copy on write" oder "CoW".) - David Schwartz


Antworten:


Verbergen Sie Userthreads (shift + H) und schließen Sie die Prozessbaumansicht (F5), dann können Sie den Prozess Ihrer Interessen nach PID sortieren und die RES-Spalte lesen (sortieren nach MEM% durch Drücken von Shift + M, oder F3 um zu suchen in cmd Zeile)


32
2018-01-11 17:30



Shift-H ist, was ich seit Jahren gesucht habe. Vielen Dank! - a paid nerd


Speicher ist eine harte Sache, Sie können den verwendeten physischen Speicher nicht berechnen, indem Sie einfach ps / htop / top ausführen. Speicher kann zwischen Prozessen geteilt werden.

Ich empfehle Ihnen, die Verwendung mit diesem Skript zu überprüfen:

http://www.pixelbeat.org/scripts/ps_mem.py


3
2017-09-05 20:28