Получение значения размера виртуальной памяти (VSZ) одного процесса

Я могу подтвердить, что $ RepeatedMessageReduction больше не работает для rsyslog 5.8.10; т.е. функция "повторение последнего сообщения" была удалена, и замены нет. Ну что ж.

Кажется, это, вероятно, произошло несколько лет назад:

http://kb.monitorware.com/last-message-repeated-feature-will-go-away-t1720.html

http: // lists .adiscon.net / pipermail / rsyslog / 2008-March / 000603.html

0
01.10.2018, 17:17
2 ответа

POSIXly,

ps -o vsz= -p "$pid"

напечатает размер процесса с идентификатором $pidв (виртуальной )памяти в единицах по 1024 байта в виде десятичного целого числа.

С помощью утилиты psот procps в Linux, если заменить -p "$pid"на -C proxyfarm,у вас будет эта информация для всех процессов, которые имеют proxyfarmв качестве имени.

Эквивалент POSIX, при условии, что имена процессов не содержат пробелов или новых строк:

ps -Ao vsz= -o comm= | awk '$2 == "proxfarm" {print $1}'

Вы можете заменить commна argsдля поиска процессов, список аргументов которых начинается со слова proxfarmвместо имени процесса.

0
28.01.2020, 02:42

Проверьте размер виртуальной памяти (vsz )значения в/proc/<PID>/stats

Согласно /proc man , столбец #23 из /proc/<PID>/statsпредставляет значения vsz в байтах .

Например, PID равен 3917, затем:

cat /proc/3917/stat | cut -d" " -f23

Важно отметить, что сообщаемые значения vsz в /proc/PID/statsоцениваются в байтах , а выходные данные команды ps -o vsz= -p "$pid"оцениваются в кибибайтах или кибах(1 КиБ. равен 1024 байтам ).

Чтобы преобразовать вывод vsz под /proc/PID/statиз байт в киб:

cat /proc/3917/stat | cut -d" " -f23 | xargs -n 1 bash -c 'echo $(($1/1024))' args
1
28.01.2020, 02:42

Теги

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