Como interpretar a saída "top" do busybox?


8

Estou usando o BusyBox em um pequeno sistema ARM incorporado. Estou tentando ler a saída "top", em particular para o processo Python listado. Quanta memória real esse processo está usando? Também o que VSZ representa? O sistema possui apenas 64 MB de RAM.

Mem: 41444K usado, 20572K grátis, 0K shrd, 0K buff, 18728K em cache
CPU: 3% usr 3% sys 0% nic 92% ocioso 0% io 0% irq 0% sirq
Média de carga: 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

Respostas:


4

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

No caso da amostra de saída que você mostra, o tamanho virtual é maior que a quantidade de memória física no sistema, portanto, necessariamente (algumas!) Das páginas no espaço de endereço do processo não estão fisicamente presentes na 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 apenas algumas partes do código ao mesmo tempo, o que permite que o kernel caia as partes não utilizadas da memória sempre que não forem usadas ou mesmo para nunca carregá-las.

Sua versão do topparece não mostrar uma REScoluna, que informava quanto da memória no espaço de endereço do processo está atualmente na RAM.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.