Процент CPU одного процесса

Как получить средний процент CPU (за каждую секунду), потребляемый одним процессом, так как он начинается до тех пор, пока он не закончится (существует)? Могу ли я сделать это с помощью Top?

Вы можете использовать утилиту ps для этого.

Чтобы просмотреть процент использования процессора в течение всего жизненного цикла одного процесса, вы можете:

 ps h -p $PID -o %cpu 

Чтобы увидеть процент CPU всех запущенных процессов, вы можете сделать что-то вроде:

 ps ax -o pid,%cpu,comm 

Способ сделать это – написать небольшой скрипт Bash, который:

  • принимает интересующее имя процесса / команды как единственный аргумент, $arg1
  • извлекает PID для этого процесса с адекватным ps | grep ps | grep или ps | awk ps | awk
  • сохраняет PID-номер в $arg2
  • запускает задание cron на втором с исполняемым файлом на основе
    ps -eo pcpu,cmd | egrep $arg1 >> logfile-$arg2
  • условия завершения задания cron для того, существует ли процесс все еще (просто проверьте номер PID, который вы сохранили в $arg2 )
  • выходит, когда тестовый ПИД больше не появляется на выходе ps