Я просто хочу знать, как найти потребление памяти для определенного процесса для определенного времени (например, 5 секунд)
Я новичок в Linux. Итак, подробные шаги по этому поводу будут оценены
Я просто хочу знать, как найти потребление памяти для определенного процесса для определенного времени (например, 5 секунд)
Я новичок в Linux. Итак, подробные шаги по этому поводу будут оценены
вы можете использовать SNMP для получения памяти и использования процессора в определенном устройстве в сети:)
Требования:
Примечания:
HOST-RESOURCES-MIB:: hrSWRunPerfCPU - это количество санти-секунд всех ресурсов ЦП системы, потребляемых этим процессом. Обратите внимание, что в многопроцессорной системе это значение может увеличиваться более чем на одну санти-секунду за одну санти-секунду реального времени (настенных часов).
HOST-RESOURCES-MIB:: hrSWRunPerfMem - общий объем реальной системной памяти, выделенной для этого процесса.
**
Мониторинг процесса script:
**
echo "IP: "
read ip
echo "specfiy pid: "
read pid
echo "interval in seconds:"
read interval
while [ 1 ]
do
date
snmpget -v2c -c public $ip HOST-RESOURCES-MIB::hrSWRunPerfCPU.$pid
snmpget -v2c -c public $ip HOST-RESOURCES-MIB::hrSWRunPerfMem.$pid
sleep $interval;
done
Используйте top -p PID
, где PID - это идентификатор процесса. Информация о процессе должна отображаться, включая процент используемой системной памяти. Введите d
и целое число в секундах, чтобы изменить частоту обновления.
используйте watch, чтобы периодически выполнять ваш script. вот пример:
watch 'cat /proc/status' --interval=5
watch 'ps aux' --interval=5
Этот ранее заданный вопрос:
Как измерить фактическое использование памяти приложения или процесса?
похоже, что он может полностью решить ваш вопрос.
edit: Моя личная любимая утилита Linux для проверки использования ресурсов процессами является верхней, хотя она может вводить в заблуждение по причинам, которые объясняются в вопросе, который я связал.