Как мне получить средний процент ЦП (за каждую секунду), потребляемый одним процессом с момента его запуска до его завершения (существования)? Могу ли я сделать это с помощью Top?
решение1
ps
Для этого можно воспользоваться утилитой.
Чтобы увидеть процент использования ЦП за все время работы одного процесса, вы можете сделать следующее:
ps h -p $PID -o %cpu
Чтобы увидеть процент загрузки ЦП всеми запущенными процессами, вы можете сделать что-то вроде:
ps ax -o pid,%cpu,comm
решение2
Один из способов сделать это — написать небольшой скрипт Bash, который:
- принимает имя интересующего процесса/команды в качестве единственного аргумента,
$arg1
- извлекает PID для этого процесса с соответствующим
ps | grep
илиps | awk
- сохраняет номер PID в
$arg2
- запускает задание cron на втором с исполняемым файлом на основе
ps -eo pcpu,cmd | egrep $arg1 >> logfile-$arg2
- обусловливает завершение задания cron тем, существует ли еще процесс (просто проверьте номер PID, который вы сохранили в
$arg2
) - завершается, когда тестовый PID больше не отображается в выводе
ps