LINUX.ORG.RU

Хочется тулзу на bash'e, отслеживающую memory size внешней программы


0

0

На сервере крутится программа (несколько часов или даже дней), в какой-то момент времени начинающая активно сжирать память. Хочется этот момент отследить (ну то есть vm size превысило пороговое значение), и, как только он наступил, сделать некое действие - ну создать файл /tmp/flag.memory.increasing, к примеру.

Как бы такое сделать?
Заранее спасибо.


Если есть /proc - можно так:

declare -i pid=12345;

declare -i vm_kbytes=`cat /proc/$pid/status | grep "VmSize" | sed 's/[^[:digit:]]//g'`;

legk
()
Ответ на: комментарий от watashiwa_daredeska

> Гонять в цикле ps и выпарсивать vm size?

Зачем что-то "выпарсивать"?
Пользуйтесь правильными ключами согласно SUS ;-)

pid=<пид_интересующего_процесса>
pid_vsz=`ps -p $pid -o vsz=''`
echo $pid_vsz

Onanim
()
Ответ на: комментарий от Onanim

Всем спасибо! Вопрос закрывается.

jek_
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.