Использование памяти процессом в Linux

line="I have a nice car"
fields=$(echo "$line" | awk '{ print $2 " " $4 }')

Это разделяет пробелы. Если вместо этого вам нужны позиции символов, используйте cut.

0
11.03.2018, 11:49
2 ответа

Все верно:psпоказывает кибибайты, как и /proc/.../status. 610 МБ (624 480 КБ )— виртуальный размер процесса, который представляет собой общий объем адресного пространства, зарезервированного (в его собственных сопоставлениях ). 9,9 МБ — это его резидентный размер, то есть объем памяти, который он фактически использует.

Для получения более подробной информации см. Необходимо пояснение по размеру резидентного набора/виртуальному размеру .

2
28.01.2020, 02:24

Установите пакет smem, если он у вас еще не установлен. Это самое точное. ps -eo pid,command,rssи ps -eo pid,command,sizeнемного неточны, поскольку они могут сообщать либо о недостаточном, либо о слишком большом количестве памяти, которая фактически выделена.

smemпоказывает PID, User, Command, Swap, USS, PSS и RSS. Запустите его и обратите внимание на столбец PSS. Это фактическое количество используемой физической памяти, а также правильное количество разделяемой памяти, которая фактически используется. Если вам нужны только PID, Command и PSS, вы можете передать их в awk. Для меня это столбцы 1, 3 и 6.

smem | awk '{print $1,$3,$6}'

1
28.01.2020, 02:24

Теги

Похожие вопросы