Come interpretare l'output "top" di busybox?


8

Sto usando BusyBox su un piccolo sistema ARM incorporato. Sto cercando di leggere l'output "top", in particolare per il processo Python elencato. Quanta memoria reale utilizza questo processo? Inoltre cosa significa VSZ? Il sistema ha solo 64 MB di RAM.

Mem: 41444K usati, 20572K gratuiti, 0K shrd, 0K buff, 18728K memorizzati nella cache
CPU: 3% usr 3% sys 0% nic 92% inattivo 0% io 0% irq 0% sirq
Carico medio: 0,00 0,04 0,05 1/112 31667
  STATO UTENTE PID PPID COMANDO CPU VSZ% VSZ%
  777775 python S 146m 241% 3% / usr / bin / python -u - dpdsrv.py

Risposte:


4

VSZ(o VIRT, a seconda della versione di top) è la quantità di memoria mappata nello spazio degli indirizzi del processo. Include le pagine supportate dal file eseguibile del processo e le librerie condivise, il suo heap e stack, così come qualsiasi altra cosa abbia mappato.

Nel caso dell'output di esempio che mostri, la dimensione virtuale è maggiore della quantità di memoria fisica sul sistema, quindi necessariamente alcune (la maggior parte!) Delle pagine nello spazio degli indirizzi del processo non sono fisicamente presenti nella RAM. Questo non è un problema: molti programmi contengono grandi quantità di codice e mappano molte librerie condivise, ma in realtà usano solo determinate parti di quel codice, o almeno usano solo determinate parti del codice contemporaneamente, il che consente al kernel di rilasciare le porzioni inutilizzate dalla memoria ogni volta che non vengono utilizzate, o anche per non caricarle mai in primo luogo.

La tua versione di topnon sembra mostrare una REScolonna, che ti direbbe quanta memoria nello spazio degli indirizzi del processo è attualmente residente nella RAM.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.