Quando meu laptop fica lento por um momento durante um processamento um pouco mais pesado, espero ver números mais altos (para uso da CPU) do que realmente vejo no painel de processos conky que tenho na área de trabalho e no monitor do sistema.
Usando top
no terminal vejo números que justificam aquela lentidão momentânea do computador. Por exemplo, enquanto o Firefox está rodando com alguns addons que usam recursos de CPU relativamente altos (exibidos como "Conteúdo da Web"), o script conky (assim como o Gnome System Monitor) mostra cerca de 25% dos recursos de CPU usados, enquanto top
mostra cerca de 71%, o que parece mais "real" dado o fato de que o PC realmente se tornou lento.
Como eu poderia obter esses números "reais" no conky que eu uso? E por que é top
diferente disso e do Monitor do Sistema?
A parte do script conky que é significativa aqui é esta:
${top name 1} $alignr ${top cpu 1}%
${top name 2} $alignr ${top cpu 2}%
${top name 3} $alignr ${top cpu 3}%
etc.
Isso ocorre porque
top
mostra o valor como uma porcentagem de um único núcleo de CPU, enquantoconky
mostra a porcentagem da potência total da CPU disponível. Se você executartop
e pressionar I, deverá ver os mesmos (quase os mesmos, sempre haverá uma condição de corrida: o tempo quetop
sonda a CPU não será exatamente o mesmo tempo queconky
faz) números.Isso está documentado em
man top
(ênfase minha):Então, o que você está vendo no seu exemplo é que
top
está no modo Irix e relata o valor de %CPU como uma porcentagem de uma única CPU, enquanto oconky
está relatando como uma porcentagem de todas as CPUs disponíveis.E, apenas para ilustrar, isso é o que
top
parece no modo Irix no meu laptop de 8 núcleos ao executarpigz
, que pode usar vários threads:Veja como o %CPU está bem acima de 100? Agora, a mesma coisa no modo Solaris, mostra:
Os números não correspondem exatamente, pois executei o comando duas vezes para obter a saída, mas você deve conseguir ver a ideia dos gêneros.