Relacionado a esta questão:Como um contador Perfmon "% Processor Time" pode ser superior a 100%?
Eu estava observando manualmente os processos no Gerenciador de Tarefas quando um usuário relatou um problema e o processo Oracle estava usando 80% a 95% por um período prolongado (5 a 15 minutos).
Tenho usado o perfmon nos últimos dias para rastrear esse processo e notei que ele ultrapassa 100% por curtos períodos, então aparentemente no perfmon é o total de todos os processadores.
Minha dúvida é que os 80-95% que eu estava vendo no Gerenciador de tarefas realmente corresponderiam a 160-180% no perfmon, certo?
(obviamente levando em consideração que alguns processos podem não conseguir usar todos os processadores com eficiência).
O Gerenciador de Tarefas estava mostrando 80-95% da CPU aqui:
O Perf Monitor pode atingir um pico acima de 100% na linha para um único objeto de processo:
Responder1
Examinando dados de tempo do processador no MSDN
Em sistemas multiprocessadores, o valor Processador\% Tempo do Processador relatado pelo Monitor do Sistema nunca excederá 100 por cento para qualquer processador ou thread específico.
Por outro lado, o valor da % de Tempo do Processador relatado para o objeto Process pode reportar valores acima de 100 por cento; se esses valores ocorrerem, isso poderá indicar que os threads do processo estão usando cumulativamente mais de 100% de um processador.
Basicamente, diz que ao examinar um processo (com vários caminhos de execução), você verá mais de 100% se houver mais de um núcleo executando o código simultaneamente. O processo tem vários núcleos disponíveis e pode optar por ser executado em alguns.
Por outro lado, ao examinar um thread de CPU, você nunca verá um valor acima de 100%, pois esse é o recurso real que está sendo medido. CPU Thread é a linguagem da Microsoft para CPU Core: existem dois Threads em um núcleo habilitado para HT.