Pregunta

El Administrador de tareas de Windows muestra el uso de la CPU en porcentaje. ¿Cuál es la fórmula detrás de esto? Es esto:

  

% de uso de CPU para el proceso A = (Suma de   todas las franjas horarias dadas a A hasta ahora) /   Tiempo total desde que la máquina arrancó

¿O es algo más?

¿Fue útil?

Solución

No estoy 100% seguro de lo que se usa, pero creo que estás un poco alejado del cálculo de la CPU.

Creo que están haciendo algo así.

Process A CPU Usage = (Cycles for A over last X seconds)/(Total cycles for last X seconds)

Creo que está vinculado al " intervalo de actualización " establecido en el administrador de tareas.

Mientras hacía un poco de investigación por ti, encontré este artículo de MSDN que muestra una forma recomendada por Microsoft de calcular el tiempo de CPU de un conjunto de instrucciones, también podría indicar un poco hacia su cálculo.

Otros consejos

No, no es " desde el tiempo de arranque " - Es mucho más sensible al tiempo que eso.

Es la proporción de tiempo durante el cual una CPU ejecutó activamente un subproceso en ese proceso desde la última actualización " ;. (Cuando la frecuencia de actualización suele ser de aproximadamente un segundo). En el administrador de tareas, creo que luego se divide por el número de CPU, por lo que el total termina siendo del 100% (es decir, en una máquina de doble núcleo, se mostrará un montón de CPU de un solo hilo) como 50%). Otros programas similares a veces no lo hacen, lo que da un total de 100% * núcleos.

También puede consultar este artículo como la forma en que se manejan los ciclos de la CPU con respecto a la programación se cambió como parte de Vista. Supongo que esto también se aplica a Win7.

Consulte el código fuente del Administrador de tareas

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top