Obtém o uso da CPU para um único processo

5

Eu tenho um problema em obter um uso da CPU em tempo real de um único processo (por seu PID). Gostaria de configurar um watchdog para o uso da CPU de um processo porque, de repente, ele atinge 100% do uso da CPU, às vezes.

O que tentei :

top -p $PID , top -pid $PID - parece que os dois não estão trabalhando no FreeBSD

ps h -p $PID -o %cpu - funciona, mas a porcentagem de uso da CPU retornada é sempre 0 .

A questão é - como posso obter um uso da CPU em tempo real para um único processo pelo seu PID no FreeBSD ?

    
por Lucas 08.08.2014 / 16:21

1 resposta

4

Eu não tenho acesso a uma máquina BSD para verificar, mas o seu comando ps deve funcionar como anunciado. Em qualquer caso, como um hack sujo, você poderia apenas analisar a saída do total ps (onde NNN é o PID que você está procurando):

ps aux | awk  -v OFS="\t" '$2=="NNN"'

Ou para manter o formato de saída idêntico ao de ps :

ps aux | grep -i '^[a-z ]*NNN '

Você pode ter que ajustar um pouco as opções ps , já que elas são diferentes no BSD. Basta usar qualquer combinação que imprima todos os processos.

    
por 08.08.2014 / 16:42