Eu tenho o ubuntu rodando em uma CPU multi-core com 32 núcleos. Quando eu checo o uso da CPU usando o comando top, algumas vezes ele mostra mais de 100%, como 340%, 650% etc. Eu fiz algumas investigações e descobri que na verdade é uma soma de usos em diferentes núcleos. Por exemplo, se o 1º uso da CPU for 20%, o 2º for 30%, o 3º for 40% e o restante for 0%, então 'top' mostrará 20 + 30 + 40 = 90%.
É um pouco confuso e enganador. Acredito que o comando top deve exibir os usos da CPU entre 0 e 100, calculando os usos em todos os núcleos. No meu exemplo acima, eu esperaria - (90 * 100) / 3200 = 2,8125%. Isso é um bug com o comando top? deve ser considerado um aprimoramento para versões futuras? Por favor informar
top
comportamento padrão e provavelmente é muito lte para alterá-lo. Porém, nada impede você de usar outro comando com uma convenção de relatórios diferente :)Respostas:
Por padrão,
top
exibe o uso da CPU como uma porcentagem de uma única CPU. Em sistemas com vários núcleos, é possível ver porcentagens de uso da CPU maiores que 100%. Você pode alternar esse comportamento pressionando Shift+ ienquanto top está sendo executado para mostrar a porcentagem geral de CPUs disponíveis em uso.htop
é uma alternativa melhor detop
. Emhtop
, você pode ver como seus programas consomem todos os 32 núcleos.fonte
parece que eu encontrei uma maneira :-) se eu alternar para o modo solaris enquanto estiver executando o comando top, ele mostrará o uso correto da CPU. Para alternar para o modo solaris, execute primeiro o comando top e pressione Shift + i
artigos de referência
https://help.gnome.org/users/gnome-system-monitor/stable/solaris-mode.html.en /unix/15733/why-process-cpu-usage-larger -than-total-cpu-time
fonte