¿Cómo hago un seguimiento de la utilización de la CPU para los servicios de Windows?

27

Estoy usando el administrador de tareas de Windows para rastrear la utilización de la CPU. Noto que mis aplicaciones están en la lista pero los Servicios de Windows no.

Por ejemplo, el uso total de la CPU aparece en un 70%, pero el resumen de las aplicaciones enumeradas es solo del 30%. Supongo que la diferencia es de los servicios que no se enumeran en la pestaña Procesos en el Administrador de tareas de Windows.

polluelos
fuente

Respuestas:

25

Aquí le mostramos cómo obtener detalles sobre un servicio sin herramientas externas en Windows 7 y 8:

Abra el Monitor de recursos:

  • Abra el Administrador de tareas y haga clic en la pestaña Rendimiento
  • Haga clic en "Abrir Monitor de recursos" en la parte inferior

Mostrar detalles del servicio:

  • Haga clic en la pestaña "CPU"
  • En la sección "Procesos", encuentre el proceso que desea; puede ordenar por CPU haciendo clic en el encabezado de la columna "CPU"
    • Marque la casilla al lado
  • Expanda la sección "Servicios" a continuación; verá qué servicio específico está utilizando la CPU

ingrese la descripción de la imagen aquí

Tuve que resolver esto porque svchost estaba consumiendo muchos recursos y esta era la única forma en que podía ver que upnphost era el culpable.

dominik andreas
fuente
También hay una sección de "Servicios" que puede ampliar en "Procesos". De cualquier manera, gracias!
Nicholas Riley
De eso es de lo que estaba hablando, me alegra que lo haya encontrado :-) seleccionando un proceso en "Procesos" (como un svchost particular en mi caso), puede ver los servicios en la vista "Servicios" que están asociados con ese particular proceso.
dominik andreas
Finalmente, podré rastrear ese misterioso servicio que usa 1 CPU al 100% en Windows 7, solo cuando mi pantalla se apaga después de 15 minutos de inactividad. Tan pronto como lo despierto, el servicio libera la CPU que está usando. Acabo de ver lo suficiente para ver que es un "svchost" ... ahora, con el promedio de 60 segundos, tendré tiempo para verlo. ¡Malditas botnets!
MrBrody
7

Probablemente la mejor herramienta es Process Explorer de Sysinternals. Puede obtener esa herramienta y muchas otras aquí .

Editar: para ver qué servicios se ejecutan en svchost en lugar de como un proceso separado, debe agregar la columna "Línea de comandos" a la ventana de la derecha. Lamentablemente, esto no le mostrará los servicios que se ejecutan juntos. Para ver esa información en Process Explorer, debe colocar el mouse sobre la instancia específica de svchost en cuestión. La información aparecerá en una ventana emergente.

KevinH
fuente
También puede elegir que Procmon reemplace a Taskman. Procmon hace esto registrándose como el depurador para taskman y ejecutándose solo en lugar de taskman cuando algo quiere iniciar taskman.
Brian Reiter
Whoops No es procmon, quiero decir procexp. (Procmon es otra herramienta de sysinternals que le permite ver el registro, el sistema de archivos y el acceso a la API de Windows para los procesos.)
Brian Reiter
Tenga en cuenta que si usa Archivo> Mostrar detalles para todos los procesos, puede usar la pestaña Subprocesos en las propiedades del proceso para esa instancia de svchost.exe (haga doble clic en el proceso o presione Entrar) para ver el uso de CPU por subproceso, y la columna Servicio enumerará el servicio correspondiente.
Nicholas Riley
En ProcessExplorer, las pestañas [Servicios] y [TCP / IP] me dieron información valiosa sobre la identificación específica del servicio. También hay otra forma de identificación del servicio a través del clic derecho del mouse en el Administrador de tareas estándar que publico a continuación como una respuesta separada.
Alex Fortuna
1

Pruebe el administrador de tareas extendido gratuito de Extensoft

http://www.extensoft.com/?p=downloads

Vaya a la pestaña Servicios y haga clic derecho en un servicio en ejecución, luego haga clic en Ir al proceso .

Volverá a la pestaña Procesos y resaltará qué Proceso está utilizando ese servicio.

QWERTY
fuente
Instalé el administrador de tareas extendido gratuito extensoft. Agrega una pestaña de servicio. Hago clic en el servicio y selecciono ir a proceso. Cambia a la pestaña de proceso pero no resalta el proceso. Además, ¿hay alguna herramienta que muestre el uso de la CPU de todos los servicios en una lista (similar a la lista de procesos en el administrador de tareas)? Nota: Estoy usando Windows Vista Home Premium Edition.
No estoy seguro de por qué no está destacando el proceso. También tengo una máquina Vista a mi lado y muestra qué proceso está relacionado con el servicio.
Qwerty
1

Muchos servicios se ejecutan dentro de una instancia de un proceso de host genérico, svchost.exe. Puede usar tasklist / svc en una línea de comandos para obtener una enumeración de los servicios que se ejecutan dentro de cada instancia de svchost.exe junto con otros procesos.

También puede hacer clic con el botón derecho en un proceso de svchost.exe en el administrador de tareas y seleccionar "Ir a los servicios" y el administrador de tareas cambiará a la pestaña de servicios y resaltará los servicios relevantes.

Con el explorador de procesos sysinternals , puede pasar el mouse sobre un servicehost.exe con el mouse y ver información sobre herramientas de los servicios alojados en él.

Ninguno de estos le dirá cuánto tiempo de la CPU del proceso del servicio de host está dedicado a un servicio de miembro particular alojado dentro.

Brian Reiter
fuente
tasklist /svces algo agradable, muestra PID y servicios relacionados de forma breve. ¡Gracias!
Alex Fortuna
1

Esto funcionó para mí en el Administrador de tareas estándar disponible en Windows 7 Ultimate:

  1. Abra el Administrador de tareas.
  2. Haga clic en la pestaña [Procesos].
  3. Haga clic en el botón [Mostrar procesos de todos los usuarios].
  4. Haga clic derecho en el svchost.exeque le está causando problemas (memoria, CPU, etc.)
  5. En el menú desplegable, seleccione [Ir a servicio (s)].

Eso lo llevará a la pestaña [Servicios] con 1 o más servicios relacionados resaltados . Tenga en cuenta que un solo svchost.exepuede relacionarse con una serie de servicios en la pestaña [Servicios].

Alex Fortuna
fuente
0

Debe abrir el administrador de tareas como administrador. Haga clic en el botón "Mostrar procesos de todos los usuarios".

Pero como dijo Brian Reiter, muchos servicios están alojados dentro de un proceso. Para saber qué servicio consume su CPU, puede probar mi herramienta de divulgación de servicio . Le permite dividir los servicios en un proceso dedicado. Podrá ver qué servicio utiliza recursos. Después de la investigación, le permite devolver todos los servicios.

Dmytro Ovdiienko
fuente