Jak znaleźć rezydentny rozmiar pamięci procesu na busyboksie?

16

Pracuję topna busyboksie i pokazuje wszystkie procesy oraz ich wielkość pamięci wirtualnej.

Jak ustalić, ile pamięci RAM zużywa każdy proces?

Collin Anderson
źródło

Odpowiedzi:

17

W busybox „ps” nie ma opcji „-o”, ale „ps l” zawiera kolumnę RSS.

Jeśli podstawowym systemem operacyjnym jest Linux, możesz także uzyskać bardziej szczegółowe informacje na temat danego procesu z:

cat /proc/PID/status

Dane wyjściowe wyglądają następująco:

Imię: jesion
Stan: S (spanie)
Tgid: 1990
Pid: 1990
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
Rozmiar FDS: 32
Grupy: 0 
VmPeak: 1592 kB
VmSize: 1592 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 552 kB
VmRSS: 552 kB
VmData: 268 kB
VmStk: 136 kB
VmExe: 688 kB
VmLib: 472 kB
VmPTE: 16 kB
VmSwap: 0 kB
Wątki: 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
dobrowolne_wtxt_włączniki: 49
przełączniki nieobowiązkowe: 15

Na tej liście VmRSS jest bieżącym zestawem rezydenta, a VmHWM jest zestawem rezydenta o wysokiej wodzie.

Andrew Fullford
źródło
BusyBox psobsługuje -ood 2006 roku , ale należy go zbudować z opcją kompilacji „DESKTOP”.
JdeBP
12
ps -o pid,user,vsz,rss,comm,args

Czwarta kolumna (rss) jest rezydentnym rozmiarem zestawu, niezmienioną pamięcią fizyczną używaną przez zadanie, w kilobajtach.

nemoini
źródło
na busybox ps nie ma flagi -o
Czad G
Jest, jeśli jest zbudowany, aby go mieć. Zobacz odpowiedź Andrew Fullforda.
JdeBP
-1
 ps -q pid -o rss= 

to powinno działać

abhiraj
źródło
2
Dodaj platformę, na której używasz. Mój psnie ma -qopcji i korzystam z suse linux.
JamesL
1
Wydaje się, że wersja BusyBox od ps(ostatnie popełnić 4e08a12 od stycznia 2017 roku) nie ma takiej możliwości albo.
AdminBee
-qpidlist Wybierz według PID (tryb szybki). Wybiera procesy, których numery ID procesów pojawiają się na liście pidlist. Dzięki tej opcji ps czyta niezbędne informacje tylko dla pidów wymienionych na liście pidlist i nie stosuje dodatkowych reguł filtrowania. Kolejność pidów jest nieposortowana i zachowana. W tym trybie nie są dozwolone żadne dodatkowe opcje wyboru, sortowanie i wykazy typów lasów. Identyczne z q i --quick-pid.
Kevdog777
@ Kevdog777 czy możesz określić, na których platformach jest to realizowane? Wydaje się, że nie jest to wymóg POSIX . Poza tym PO wyraźnie zapytał o środowisko busybox ...
AdminBee
Przepraszam @AdminBee, znalazłem to tutaj: man7.org/linux/man-pages/man1/ps.1.html, ponieważ ludzie nie wiedzieli, co to -qznaczy. Tak to po prostu mówi Linux.
Kevdog777