Wie interpretiere ich die Top-Ausgabe der Busybox?

8

Ich verwende BusyBox auf einem kleinen eingebetteten ARM-System. Ich versuche, die "Top" -Ausgabe zu lesen, insbesondere für den aufgeführten Python-Prozess. Wie viel realen Speicher verwendet dieser Prozess? Wofür steht VSZ auch? Das System verfügt nur über 64 MB RAM.

Mem: 41444K verwendet, 20572K frei, 0K Shrd, 0K Buff, 18728K zwischengespeichert
CPU: 3% usr 3% sys 0% nic 92% idle 0% io 0% irq 0% sirq
Lastdurchschnitt: 0,00 0,04 0,05 1/112 31667
  PID PPID USER STAT VSZ% VSZ% CPU-BEFEHL
  777 775 Python S 146m 241% 3% / usr / bin / python -u - dpdsrv.py
SeanLabs
quelle

Antworten:

4

VSZ(oder VIRT, abhängig von der Version von top) ist die Größe des Speichers, der dem Adressraum des Prozesses zugeordnet ist. Es enthält Seiten, die von der ausführbaren Datei und den gemeinsam genutzten Bibliotheken des Prozesses, seinem Heap und Stack sowie allen anderen zugeordneten Elementen unterstützt werden.

Bei der angezeigten Beispielausgabe ist die virtuelle Größe größer als der physische Speicher auf dem System, sodass notwendigerweise einige (die meisten!) Seiten im Adressraum des Prozesses nicht physisch im RAM vorhanden sind. Das ist kein Problem: Viele Programme enthalten große Mengen an Code und ordnen viele gemeinsam genutzte Bibliotheken zu, verwenden jedoch nur bestimmte Teile dieses Codes oder zumindest nur bestimmte Teile des Codes gleichzeitig, wodurch der Kernel gelöscht werden kann die nicht verwendeten Teile aus dem Speicher, wenn sie nicht verwendet werden oder sogar, um sie überhaupt nicht zu laden.

Ihre Version von topscheint keine RESSpalte anzuzeigen, die angibt, wie viel Speicher im Adressraum des Prozesses derzeit im RAM gespeichert ist.

Celada
quelle