¿Por qué los diferentes programas muestran un uso diferente de la CPU?

Nadie sabe realmente qué sucede debajo del capó en Windows, pero el culpable aquí es probablemente svchost. Tuve este problema con mi computadora (Windows 7) donde todo se ralentizaría y el Administrador de tareas mostró que uno de mis 2 núcleos se utilizó al 100%. Cerrar todos los programas en ejecución no hizo ninguna diferencia, y esta situación persistió durante aproximadamente 10 horas hasta que de repente se lanzó la CPU. Luego, unos días más tarde, volvió a suceder. Resource Monitor demostró que svchost era responsable y, a partir de su PID, vi que estaba esperando otro proceso, que resultó ser … Windows Update . Maté ese proceso y recuperé mi CPU.

Nota, en realidad no estaba actualizando . Intentaba descargar una actualización y obviamente tenía un problema de conexión. Solucioné el problema entrando en Windows Update y cambiando la configuración de “Descargar actualizaciones, pero déjame elegir si instalarlas” a “Buscar actualizaciones, pero déjame elegir si descargarlas e instalarlas”. Puedo hacer eso con Windows 7, por supuesto. Si tienes Windows 10 no tienes esa opción, lo siento.

Su imagen de arriba muestra una utilización muy baja de la CPU (11%), por lo que el 99% en la parte superior de la columna izquierda es probablemente el total de todas las utilizaciones en esa columna, con un error de redondeo del 1%. Como dice Al Klein, el proceso de inactividad del sistema no es en realidad uso, es el tiempo de inactividad que la CPU pasa esperando a que le digan que haga algo.

Si observa, en la parte superior del panel derecho, System Idle Process está utilizando más del 90% de la CPU. Excepto que “Proceso inactivo del sistema” es la cantidad de CPU que no se está utilizando. Un programa en ventana se encuentra en un bucle esperando que un proceso solicite tiempo de CPU. Ese ciclo no está “agotando” el tiempo de CPU, solo te está esperando a ti o un programa que aún no está listo para hacer nada. (Un programa de impresión puede solicitar una notificación cuando la impresora está lista para tomar más caracteres, luego ir a dormir y no usar ninguna CPU).

Además, el panel de la izquierda puede estar buscando la utilización de un solo núcleo. El panel de la derecha es para 4 núcleos. Si la mayoría de los subprocesos se ejecutan en el mismo núcleo, ese núcleo se puede usar el 99% mientras que el resto de los núcleos apenas se usan. (lo que usa qué núcleo depende de cómo esté escrito el software).