Produz processos elevados de CPU usando o shell bash

1

Estou tentando monitorar meus processos do CentOS usando o comando top para ver se há algum processo em que o uso da CPU é maior que X%; abaixo está o comando que estou usando para ver se o uso de CPU de qualquer processo é maior que 10%.

top | awk '{if (NF == 14) {
  if ( int($10) >= 10 ) { print $0; system("ps -ef | grep " $13); }
}}' >> top.txt

Parece que o comando acima irá perder alguns resultados. Enquanto o comando acima está em execução, abro outra sessão e executo o comando top. Tenho notado que, às vezes, quando vejo alguns processos, o uso da CPU é maior que 10%, mas os resultados não são capturados pelo comando acima.

Não tenho certeza se existem maneiras melhores ou se o script acima está errado.

Muito obrigado!

    
por forestclown 27.03.2012 / 08:36

1 resposta

3

O comando top não é a melhor opção para analisar dados. Tente usar sar (se não estiver instalado por padrão, execute yum install sysstat ) ou iostat -c .

    
por 27.03.2012 / 08:55

Tags