carga média e% total da CPU no topo

2

Eu pensei que a carga média por tempo de atividade e o somatório de% de CPU de todos os processos em execução na parte superior (coluna # 9) devem concordar. Mas isso não parece verdade. Aqui estão minhas pequenas experiências:

Em um servidor:

$ top -b -n 1| awk '{ totuse = totuse + $9 } END { print totuse/100 }'; uptime

6.29

22:00:59 up 28 days,  7:03,  9 users,  load average: 7.03, 5.81, 4.51'

Em outro servidor:

$ top -b -n 1| awk '{ totuse = totuse + $9 } END { print totuse/100 }'; uptime

4.93

22:01:37 up 29 days,  8:27, 17 users,  load average: 18.83, 16.01, 13.86'

Então, por que existe essa diferença entre os dois? Qual deles realmente reflete o uso de CPUs?

Se eu tentar avaliar quanto uso da CPU meus processos em execução estão usando, isso é uma boa maneira:

top -b -n 1 | grep "tim"| awk '{ totuse = totuse + $9 } END { print totuse/100 }'

?

Obrigado e cumprimentos!

    
por Tim 02.10.2009 / 04:12

1 resposta

9

O motivo pelo qual a% da sua CPU e a média de carga não estão de acordo é porque são dois valores completamente diferentes. A% da CPU é exatamente isso, a porcentagem da CPU que um processo está usando. A média de carga é a média ponderada dos processos na fila de execução durante 1, 5 e 15 minutos.

Se você está preocupado com a quantidade de CPU que você está usando (você está utilizando totalmente o seu processador), sua contagem da saída do topo funcionará bem. Você pode executar isso ocasionalmente e registrar o valor (ou usar sar , o que fará isso para você).

Ter uma média de carga alta significa que você tem muitos processos na fila de execução - muitos processos estão prontos e aguardando para serem executados. Alta carga não significa automaticamente muito uso da CPU.

A Wikipedia tem um bom artigo descrevendo a média de carga e as diferenças entre a carga da CPU e o uso da CPU: link

    
por 02.10.2009 / 04:44