Comment trouver la taille de la mémoire résidente d'un processus sur busybox?

16

Je cours topsur busybox et il montre tous les processus et leur taille de mémoire virtuelle.

Comment déterminer la quantité de RAM utilisée par chaque processus?

Collin Anderson
la source

Réponses:

17

Sur busybox, "ps" n'a pas d'option "-o", mais "ps l" inclut la colonne RSS.

Si l'O / S sous-jacent est Linux, vous pouvez également obtenir des détails plus spécifiques pour un processus donné à partir de:

cat /proc/PID/status

La sortie ressemble à ceci:

Nom: frêne
État: S (endormi)
Tgid: 1990
Pid: 1990
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 32
Groupes: 0 
VmPeak: 1592 kB
VmSize: 1592 kB
VmLck: 0 ko
VmPin: 0 ko
VmHWM: 552 ko
VmRSS: 552 ko
VmData: 268 kB
VmStk: 136 ko
VmExe: 688 ko
VmLib: 472 ko
VmPTE: 16 ko
VmSwap: 0 kB
Fils: 1
SigQ: 14/340
SigPnd: 00000000000000000000000000000000
ShdPnd: 00000000000000000000000000000000
SigBlk: 00000000000000000000000000000000
SigIgn: 00000000000000000000000004804004
SigCgt: 00000000000000000000000000080002
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: ffffffffffffffff
CapBnd: ffffffffffffffff
Cpus_allowed: 1
Cpus_allowed_list: 0
volontaires_ctxt_switches: 49
nonvoluntary_ctxt_switches: 15

Dans cette liste, VmRSS est l'ensemble résident actuel, et VmHWM est le repère haut de l'ensemble résident.

Andrew Fullford
la source
BusyBox psest pris en charge -odepuis 2006 , mais doit être construit avec l'option de construction "DESKTOP".
JdeBP
12
ps -o pid,user,vsz,rss,comm,args

La 4ème colonne (rss) est la taille de l'ensemble résident, la mémoire physique non permutée utilisée par une tâche, en kilo-octets.

nemoinis
la source
il n'y a pas de drapeau -o sur busybox ps
Chad G
Il y a s'il est construit pour l'avoir. Voir la réponse d'Andrew Fullford.
JdeBP
-1
 ps -q pid -o rss= 

cela devrait fonctionner

abhiraj
la source
2
Veuillez ajouter sous quelle plateforme vous utilisez. Mon psn'a pas d' -qoption et j'utilise suse linux.
JamesL
1
Il semble que la version busybox de ps(dernier commit 4e08a12 de janvier 2017) ne dispose pas non plus de cette option.
AdminBee
-qpidlist Sélection par PID (mode rapide). Cela sélectionne les processus dont les numéros d'ID de processus apparaissent dans pidlist. Avec cette option, ps lit les informations nécessaires uniquement pour les pids répertoriés dans la liste des pid et n'applique pas de règles de filtrage supplémentaires. L'ordre des pids n'est pas trié et conservé. Aucune option de sélection supplémentaire, tri et listes de types de forêt ne sont autorisées dans ce mode. Identique à q et --quick-pid.
Kevdog777
@ Kevdog777 pourriez-vous spécifier sur quelles plateformes cela est implémenté? Cela ne semble pas être une exigence POSIX . En outre, l'OP a explicitement posé des questions sur l'environnement de la
boîte occupée
Désolé @AdminBee, j'ai trouvé cela ici: man7.org/linux/man-pages/man1/ps.1.html car les gens ne savaient pas ce que cela -qsignifiait. Donc ça dit juste Linux.
Kevdog777