Comment interpréter la sortie «top» de busybox?

8

J'utilise BusyBox sur un petit système ARM intégré. J'essaie de lire la sortie "top", en particulier pour le processus Python répertorié. Quelle quantité de mémoire réelle ce processus utilise-t-il? Que signifie également VSZ? Le système ne dispose que de 64 Mo de RAM.

Mem: 41444K utilisé, 20572K libre, 0K shrd, 0K buff, 18728K mis en cache
CPU: 3% usr 3% sys 0% nic 92% inactif 0% io 0% irq 0% sirq
Charge moyenne: 0,00 0,04 0,05 1/112 31667
  PID PPID USER STAT VSZ% VSZ% CPU COMMAND
  777775 python S 146m 241% 3% / usr / bin / python -u - dpdsrv.py
SeanLabs
la source

Réponses:

4

VSZ(ou VIRT, selon la version de top) est la quantité de mémoire mappée dans l'espace d'adressage du processus. Il comprend des pages soutenues par le fichier exécutable du processus et les bibliothèques partagées, son tas et sa pile, ainsi que tout ce qu'il a mappé.

Dans le cas de l'exemple de sortie que vous montrez, la taille virtuelle est supérieure à la quantité de mémoire physique sur le système, donc nécessairement (la plupart!) Des pages de l'espace d'adressage du processus ne sont pas physiquement présentes dans la RAM. Ce n'est pas un problème: de nombreux programmes contiennent de grandes quantités de code et mappent de nombreuses bibliothèques partagées, mais ils n'utilisent en fait que certaines parties de ce code, ou du moins n'utilisent que certaines parties du code en même temps, ce qui permet au noyau de tomber les portions inutilisées de la mémoire quand elles ne sont pas utilisées, ou même pour ne jamais les charger en premier lieu.

Votre version de topne semble pas afficher de REScolonne, ce qui vous indiquerait combien de mémoire dans l'espace d'adressage du processus réside actuellement dans la RAM.

Celada
la source