Como interpretar a saída “top” do busybox?

8

Estou usando o BusyBox em um pequeno sistema ARM integrado. Estou tentando ler a saída "top", em particular para o processo do Python listado. Quanta memória real é esse processo usando? Além disso, o que VSZ significa? O sistema tem apenas 64MB de RAM.

Mem: 41444K used, 20572K free, 0K shrd, 0K buff, 18728K cached
CPU:   3% usr   3% sys   0% nic  92% idle   0% io   0% irq   0% sirq
Load average: 0.00 0.04 0.05 1/112 31667
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
  777   775 python   S     146m 241%   3% /usr/bin/python -u -- dpdsrv.py
    
por SeanLabs 18.01.2015 / 04:21

1 resposta

4

VSZ (ou VIRT , dependendo da versão de top ) é a quantidade de memória mapeada no espaço de endereço do processo. Inclui páginas apoiadas pelo arquivo executável do processo e bibliotecas compartilhadas, seu heap e pilha, bem como qualquer outra coisa que tenha mapeado.

No caso da saída de amostra mostrada, o tamanho virtual é maior que a quantidade de memória física no sistema, portanto, necessariamente, algumas (a maioria!) das páginas no espaço de endereço do processo não estão fisicamente presentes RAM. Isso não é um problema: muitos programas contêm grandes quantidades de código e mapeiam muitas bibliotecas compartilhadas, mas na verdade só usam certas partes desse código, ou pelo menos usam apenas certas partes do código ao mesmo tempo, o que permite que o kernel solte. as porções não utilizadas da memória sempre que não forem usadas, ou mesmo para nunca carregá-las em primeiro lugar.

A sua versão de top não parece mostrar uma coluna RES , o que lhe diria quanto da memória no espaço de endereço do processo reside atualmente na RAM.

    
por 18.01.2015 / 11:18