Como obtenho a porcentagem média de CPU (para cada segundo) consumida por um único processo desde o início até o término (existe)? Posso fazer isso com Top?
Responder1
Você pode usar o ps
utilitário para isso.
Para ver a porcentagem de uso vitalício da CPU de um único processo, você pode fazer:
ps h -p $PID -o %cpu
Para ver a porcentagem de CPU de todos os processos em execução, você pode fazer algo como:
ps ax -o pid,%cpu,comm
Responder2
Uma maneira de fazer isso é escrever um pequeno script Bash que:
- toma o nome do processo/comando de interesse como único argumento,
$arg1
- extrai o PID para esse processo com um valor adequado
ps | grep
oups | awk
- mantém o número PID em
$arg2
- executa um cron job no segundo com um executável baseado em um
ps -eo pcpu,cmd | egrep $arg1 >> logfile-$arg2
- condiciona o encerramento do cron job para saber se o processo ainda existe (basta testar o número PID que você armazenou
$arg2
) - sai quando o PID de teste não aparece mais na saída do
ps