top -bn1 não dando uso correto da CPU

1

Estou logando em um nó que eu sei que tem quase 100% de uso de CPU (20 trabalhos de processo único usando quase 100% de cpu cada). Quando eu uso top interativamente, a primeira iteração, isso me dá cerca de 20% ni e a próxima iteração, e tudo após dar corretamente 95 +% ni de uso. Eu estou querendo canalizar a saída de top via top -bn1 > outfile , mas a primeira iteração de top -bn1 (a única iteração) fornece o uso incorreto da CPU. Se eu usar top -bn2 , a segunda iteração fornecerá o uso correto, mas isso é uma saída em excesso.

Como posso obter top -bn1 corretamente para fornecer o uso da CPU? Estou escrevendo este script para estatísticas de uso, portanto, se necessário, posso voltar e executar uma análise nos processos de forma independente para gerar meu próprio uso de CPU, mas seria interessante se top me desse o uso correto imediatamente morcego.

EDIT: mpdstat -P ALL me fornece as mesmas estatísticas de uso inicial incorretas. Seria bom descobrir isso também. Eu posso usar mpstat -P ALL 1 1 , mas isso dá a saída duas vezes.

    
por drjrm3 13.03.2015 / 21:32

2 respostas

3

Apenas elimine a saída da primeira iteração.

top -bn2 | awk '/^top -/ { p=!p } { if (!p) print }'
    
por 25.03.2015 / 16:18
0

Existem ferramentas que exibem primeiro uma média calculada. Outras ferramentas têm uma primeira amostra incompleta. No geral, é aconselhável pular a primeira amostra para obter o resultado desejado.

    
por 20.03.2015 / 14:43