
Tenho tentado descobrir a melhor maneira de medir a utilização da CPU de processos em um sistema Windows Server 2012R2 e descobri que existem muitas inconsistências entre os métodos usados para medir a utilização.
Inicialmente, observei a utilização da CPU no gerenciador de tarefas, mas ele apenas fornece um instantâneo da utilização, não dados durante um determinado período de tempo, então decidi usar outras ferramentas, como procmon ou process explorer, mas nenhuma delas. esses dois relatam os mesmos números ou até mesmo as classificações entre os processos.
Aqui estão as inconsistências:
1) A guia "processos" e a guia "detalhes" do gerenciador de tarefas mostram valores completamente diferentes para "% utilização da CPU" e a classificação entre esses processos. Por exemplo, a guia de processos mostra isto:
- abc.exe% 24
- 123.exe% 10
- sdf.exe% 3
enquanto a guia "detalhes" mostra:
- inativo% 55 (esta não é a parte estranha)
- sdf.exe% 11
- ert.exe% 9
- abc.exe% 7
2) CPU% do Process Explorer mostra valores diferentes em comparação com a guia "Processos" do Gerenciador de Tarefas e com a guia "detalhes": Entendo que os valores podem ser exibidos com atraso ou pequenas inconsistências, mas os valores mostrados em todos os três lugares são quase completamente diferente, assim como no exemplo acima.
3) O Process Monitor também fornece informações inconsistentes sobre a classificação dos processos em termos de utilização da CPU: Embora o ProcMon não forneça valores percentuais dos processos, a classificação entre esses processos (em termos de tempo de CPU) também não corresponde ao Process Explorer. ou classificação de gerenciadores de tarefas.
A questão resumida é: qual dessas medidas daria a representação mais precisa da utilização da CPU entre processos e por quê?
Responder1
O mais preciso é o Process Explorer por estes motivos:
- mostra porcentagens de utilização da CPU por processo arredondadas para uma resolução de duas casas decimais por padrão, em vez de um número inteiro
- ele rastreia o tempo gasto atendendo interrupções e DPCs e os exibe separadamente do processo ocioso (o Gerenciador de tarefas não faz isso)
- ele usa métricas adicionais do sistema para que os processos que consomem pequenas quantidades de CPU possam ser identificados e, quando possível, fornecer um relato mais preciso do consumo real de CPU
PE é a ferramenta detalhada e mencionada na Referência do Administrador do Windows Sysinternals, por Mark Russinovich e Aaron Margosis, como a ferramenta ideal para exibir as informações mais detalhadas.
Editar: a capacidade de rastrear interrupções também pode ser muito útil para outras tarefas, depurando software e encontrando drivers defeituosos.