% del procesador del administrador de tareas

% del procesador del administrador de tareas

Relacionado con esta pregunta:¿Cómo puede un contador de "% de tiempo de procesador" de Perfmon superar el 100%?

Estaba observando manualmente los procesos en el Administrador de tareas cuando un usuario informó un problema y el proceso de Oracle estaba utilizando entre el 80% y el 95% durante un período de tiempo sostenido (5-15 minutos).

Así que he estado usando perfmon durante los últimos días para rastrear ese proceso y noté que superaba el 100% durante períodos cortos, por lo que aparentemente en perfmon es el total de todos los procesadores.

Mi pregunta es que el 80-95% que estaba viendo en el Administrador de tareas realmente habría correspondido al 160-180% en perfmon, ¿verdad?

(obviamente teniendo en cuenta que es posible que algunos procesos no puedan utilizar todos los procesadores de manera eficiente).

El Administrador de tareas mostraba entre un 80 y un 95 % de CPU aquí:

ingrese la descripción de la imagen aquí

Perf Monitor puede superar el 100% en la línea para un único objeto de proceso:

ingrese la descripción de la imagen aquí

Respuesta1

Examinar los datos de tiempo del procesador en MSDN

En sistemas multiprocesador, el valor Procesador\% de tiempo de procesador informado por System Monitor nunca excederá el 100 por ciento para ningún procesador o subproceso en particular.

Por otro lado, el valor del % de tiempo de procesador reportado para el objeto Proceso puede reportar valores superiores al 100 por ciento; Si se producen tales valores, esto podría indicar que los subprocesos del proceso están utilizando acumulativamente más del 100 por ciento de un procesador.


Básicamente dice que al examinar un proceso (con múltiples rutas de ejecución), verá más del 100% si hay más de un núcleo ejecutando el código simultáneamente. El proceso tiene varios núcleos disponibles y puede optar por ejecutarse en algunos.

Por otro lado, si examina un subproceso de CPU, nunca verá un valor superior al 100%, ya que ese es el recurso real que se está midiendo. CPU Thread es el lenguaje de Microsoft para CPU Core: hay dos subprocesos en un núcleo habilitado para HT.

información relacionada