20 votos

Finegrained de los informes de rendimiento en svchost.exe

Esto es algo que siempre me molestó, así que voy a pedir a la Fallas de Servidor de la comunidad.

Me encanta el Explorador de Procesos para mantener un seguimiento de más que el de alto nivel de las tareas que usted recibe en el Administrador de Tareas. Pero yo siempre quiero saber cual de estas docena de servicios alojados en un único proceso en virtud del svchost está haciendo que mi pico de procesador.

Así que... ¿hay alguna no intrusiva para encontrar esta información?

34voto

Peter Mortensen Puntos 1674

Sí, hay una (casi) no intrusiva y de manera fácil:

Dividir cada servicio para que se ejecute en su propio SVCHOST.EXE proceso y el servicio de consumo de los ciclos de CPU será fácilmente visible en el Proceso de Explorer (el espacio después de "=" es obligatorio):

SC Config Servicename Type= own

Hacer esto en una ventana de línea de comandos o ponerlo en un MURCIÉLAGO secuencia de comandos. Se requieren privilegios administrativos y un reinicio de la computadora se requiere antes de que se lleve efecto.

El estado original, puede ser restaurado por:

SC Config Servicename Type= share

Ejemplo: para hacer Instrumental de Administración de Windows se ejecutan en un independiente SVCHOST.EXE:

SC Config winmgmt Type= own

Esta técnica no tiene malos efectos, excepto tal vez el aumento de el consumo de memoria ligeramente. Y aparte de la observación de la CPU uso de cada servicio también hace que sea fácil para observar la página fallos delta, disco e/S de velocidad de lectura de disco y de e/S de velocidad de escritura para cada servicio. Para el Proceso de Explorer, en el menú Ver/Seleccionar Columnas: ficha de Proceso de la Memoria/de Fallos de Página de Delta, ficha de Proceso de Rendimiento de e/s de Delta Escribir Bytes, ficha de Proceso de Rendimiento de e/s de Delta Bytes de Lectura, respectivamente.


En la mayoría de los sistemas sólo hay uno SVCHOST.EXE proceso que tiene una gran cantidad de servicios. He utilizado esta secuencia (puede ser pegado directamente en una ventana de línea de comandos):

rem  1. "Automatic Updates"
SC Config wuauserv Type= own

rem  2. "COM+ Event System"
SC Config EventSystem Type= own

rem  3. "Computer Browser"
SC Config Browser Type= own

rem  4. "Cryptographic Services"
SC Config CryptSvc Type= own

rem  5. "Distributed Link Tracking"
SC Config TrkWks Type= own

rem  6. "Help and Support"
SC Config helpsvc Type= own

rem  7. "Logical Disk Manager"
SC Config dmserver Type= own

rem  8. "Network Connections"
SC Config Netman Type= own

rem  9. "Network Location Awareness"
SC Config NLA Type= own

rem 10. "Remote Access Connection Manager"
SC Config RasMan Type= own

rem 11. "Secondary Logon"
SC Config seclogon Type= own

rem 12. "Server"
SC Config lanmanserver Type= own

rem 13. "Shell Hardware Detection"
SC Config ShellHWDetection Type= own

rem 14. "System Event Notification"
SC Config SENS Type= own

rem 15. "System Restore Service"
SC Config srservice Type= own

rem 16. "Task Scheduler"
SC Config Schedule Type= own

rem 17. "Telephony"
SC Config TapiSrv Type= own

rem 18. "Terminal Services"
SC Config TermService Type= own

rem 19. "Themes"
SC Config Themes Type= own

rem 20. "Windows Audio"
SC Config AudioSrv Type= own

rem 21. "Windows Firewall/Internet Connection Sharing (ICS)"
SC Config SharedAccess Type= own

rem 22. "Windows Management Instrumentation"
SC Config winmgmt Type= own

rem 23. "Wireless Configuration"
SC Config WZCSVC Type= own

rem 24. "Workstation"
SC Config lanmanworkstation Type= own

rem End.

2voto

Jim Puntos 4057

Aunque no lo sé de manera fácil hacerlo directamente, a menudo se puede inferir que en el Proceso del Explorador de propiedades de la página para el proceso svchost. Los Servicios en la ficha de propiedades de proceso le dirá que los servicios están alojados en ese proceso. Los Hilos de la ficha se muestran los subprocesos y las pilas de subprocesos de ejecución así como su uso de la CPU. A menudo la Dirección de Inicio en el hilo dará una indicación de la DLL punto de entrada, y por extensión el servicio, que se ejecuta en ese hilo. Otras veces usted puede mirar en el hilo de pila de llamadas y ver el nombre del módulo en la pila de llamadas que indica que la pieza de código que se está ejecutando.

1voto

Por favor, inténtelo de Servicio de la Divulgación de la herramienta. Es

  1. Tiendas de servicios que comparten svchost.exe proceso.
  2. Configura los servicios se ejecuten en proceso separado. Después de reiniciar, se verá cada servicio en proceso separado.
  3. Devuelve todos los almacenados en el paso #1 servicios de nuevo a un proceso.

Sus comentarios y sugerencias son bienvenidos.

@Peter Mortensen: Gracias por la idea.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: