Как узнать размер резидентной памяти процесса в busybox?

16

Я запускаю topна busybox, и он показывает все процессы и размер их виртуальной памяти.

Как определить, сколько оперативной памяти используется каждым процессом?

Коллин Андерсон
источник

Ответы:

17

На busybox «ps» не имеет опции «-o», но «ps l» включает столбец RSS.

Если основной операционной системой является Linux, вы также можете получить более подробную информацию о данном процессе из:

cat /proc/PID/status

Вывод выглядит так:

Имя: ясень
Состояние: S (спит)
Tgid: 1990
Пид: 1990
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Гид: 0 0 0 0
FDSize: 32
Группы: 0 
VmPeak: 1592 кБ
VmSize: 1592 кБ
VmLck: 0 кБ
VmPin: 0 кБ
VmHWM: 552 кБ
VmRSS: 552 кБ
VmData: 268 кБ
VmStk: 136 кБ
VmExe: 688 кБ
VmLib: 472 кБ
VmPTE: 16 кБ
VmSwap: 0 кБ
Темы: 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
добровольные переключатели: 49
nonvoluunte_ctxt_switches: 15

В этом списке VmRSS - текущий резидентный набор, а VmHWM - резидентный набор верхнего уровня.

Эндрю Фуллфорд
источник
BusyBox psподдерживается -oс 2006 года , но должен быть собран с опцией сборки "DESKTOP".
JdeBP
12
ps -o pid,user,vsz,rss,comm,args

Четвертый столбец (rss) - это размер резидентного набора, не замененная физическая память, используемая задачей, в килобайтах.

nemoinis
источник
нет флага -o на busybox ps
Чад G
Существует, если это построено, чтобы иметь это. Смотрите ответ Эндрю Фуллфорда.
JdeBP
-1
 ps -q pid -o rss= 

это должно работать

abhiraj
источник
2
Пожалуйста, добавьте, на какой платформе вы работаете. У меня psнет -qвыбора, и я использую suse linux.
JamesL
1
Представляется , что версия BusyBox из ps(последний коммит 4e08a12 от января 2017 года) не имеет такой вариант тоже.
AdminBee
-qpidlist Выбор по PID (быстрый режим). Это выбирает процессы, чьи идентификационные номера процессов появляются в пидлисте. С этой опцией ps читает необходимую информацию только для pids, перечисленных в пидлисте, и не применяет дополнительные правила фильтрации. Порядок пидов не сортируется и сохраняется. В этом режиме дополнительные параметры выбора, сортировка и списки типов леса не допускаются. Идентичен q и --quick-pid.
Kevdog777
@ Kevdog777 не могли бы вы указать, на каких платформах это реализовано? Кажется, это не является требованием POSIX . Кроме того, ОП явно спросил о среде busybox ...
AdminBee
Извините @AdminBee, я нашел это здесь: man7.org/linux/man-pages/man1/ps.1.html, поскольку люди не знали, что это -qзначит. Так что это просто говорит Linux.
Kevdog777