O Gerenciador de Tarefas do Windows 8 mostra 49% de utilização da CPU, mas o Process Explorer mostra 100%

5

O Gerenciador de Tarefas do Windows 8 está exibindo 49% de utilização da CPU enquanto o Process Explorer está exibindo 100%. O que estaria causando isso? É um bug do Windows 8?

    
por Bryant 29.10.2012 / 19:06

4 respostas

3

Meu palpite seria que o Gerenciador de Tarefas leva em consideração a velocidade da CPU atual e, portanto, mostra a utilização em relação à velocidade máxima. O Gerenciador de Tarefas apenas considera a utilização da CPU como retornada do sistema. No seu caso, eles estão desligados por um fator de dois, assim como a velocidade atual e máxima da CPU.

Você pode tentar alterar seu plano de energia e não fazer o clock da CPU para ver se eles relatam o mesmo.

    
por 29.10.2012 / 19:47
3

Eu entrei nas configurações do meu BIOS e desativei todos os itens a seguir:

  • Turbo-boost (aumenta o poder da CPU quando necessário)
  • Hyperthreading (dois threads por núcleo físico)
  • Modo multi-core (força a CPU a usar apenas um núcleo)
  • Otimização de energia / velocidade (reduz a CPU para economizar energia)

Mesmo com todas essas configurações habilitadas, ainda há uma diferença quase exata de 2x entre o uso da CPU relatado pelo Gerenciador de Tarefas e pelo Process Explorer. Por isso, não parece ser um problema de frequências variáveis no processador ou da adição de núcleos.

Meu palpite é que o Process Explorer usa um método diferente para calcular o uso da CPU, mas não tenho certeza do que é isso. Vou tentar encontrar algumas informações sobre isso e atualizar a resposta quando o fizer.

Editar: isso não explica a diferença de 2x, mas explica a diferença entre como o Process Explorer e o Gerenciador de Tarefas calculam o uso da CPU:

Measuring CPU Consumption

Older versions of Windows were able to track only an approximation of actual CPU usage. At a clock-generated interrupt that on most systems has a period of 15.6 milliseconds (ms), Windows identifies the thread currently executing on each CPU. If the thread is executing in kernel mode, its kernel-mode time is incremented by 15.6 ms; otherwise, its user-mode time is incremented by that amount. The thread might have been executing for only a few CPU cycles when the interrupt fired, but the thread is charged for the entire 15.6-ms interval. Meanwhile, hundreds of other threads might have executed during that interval, but only the thread currently running at the clock tick gets charged. Windows Task Manager uses these approximations to report CPU usage even on newer versions of Windows that have more accurate metrics available. Task Manager further reduces its accuracy by rounding to the nearest integer percentage, so processes with executing threads that consume less than 1 percent of CPU time are indistinguishable from processes that do not execute at all. Finally, Task Manager does not account for CPU time spent servicing interrupts or deferred procedure calls (DPCs), incorrectly including that time with the System Idle Process.

Procexp represents CPU usage more accurately than does Task Manager. First, Procexp shows per-process CPU utilization percentages rounded to a resolution of two decimal places by default instead of to an integer. Second, Procexp tracks the time spent servicing interrupts and DPCs and displays them separately from the Idle process. Finally, Procexp uses additional system metrics so that processes consuming small amounts of CPU can be identified and, when possible, provide a more accurate account of actual CPU consumption. Different metrics are available on Windows XP, Windows Vista, and Windows 7 and their corresponding server versions. Procexp takes advantage of whatever is available to report the most accurate measures possible.

Eu também encontrei isso no Fórum Sysinternals, do próprio criador do ProcExp:

Process Explorer shows actual CPU usage now based on cycle counts. If you have speedstep or other CPU frequency throttling enabled that will cause work consuming some number of cycles to be calculated as a higher percentage of available cycles per second.

    
por 29.10.2012 / 20:05
2

Tem de fazer algo com o seu processador sendo downclocked, Task Manager provavelmente conta em downclocks enquanto Process Explorer não, você deve definir sua opção de energia para desempenho e verificar se ele mostra 100% quando maximizado.

    
por 29.10.2012 / 19:48
0

O Windows Defender será executado no rótulo "Gerenciador de tarefas". Eu estou supondo que seu computador estava fazendo uma varredura semanal de vírus quando você viu esses números. Eu vejo isso acontecendo no meu laptop Windows 8 também com o ventilador indo no máximo.

    
por 05.09.2014 / 18:57