42 votos

¿Cómo encontrar el uso de la memoria individuales de servicios de Windows?

El administrador de tareas muestra el uso de memoria global de svchost.exe. ¿Hay una manera de ver el uso de la memoria de servicios individuales?


Nota que esto es similar a http://serverfault.com/questions/2786/finegrain-performance-reporting-on-svchost-exe

51voto

Peter Mortensen Puntos 1674

Hay una manera fácil de obtener la información que usted está pidiendo para (pero requiere un ligero cambio en su sistema). Yo estoy publicando mi respuesta a una pregunta similar, http://serverfault.com/questions/2786/ (tal vez los dos las preguntas deben ser combinadas?):

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 Administrador de Tareas o el Explorador de Procesos (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.

18voto

Bob Puntos 34449

Usted puede utilizar el construido-en tasklist comando y filtro por nombre de servicio (/fi switch), por ejemplo:

 tasklist /fi "services eq TermService"

Salida:

Nombre de imagen PID Sesión Nombre de la Sesión# Uso de memoria
========================= ======== ================ =========== ============
svchost.exe 2940 Consola de 0 7.096 K

Si usted no sabe un nombre, puede hacer una lista de ellos por la ejecución de esta instrucción:

 tasklist /svc /fi "imagename eq svchost.exe"

Enumera todos los servicios alojados por svchost.exe por ejemplo:

Nombre de imagen PID Servicios
========================= ======== ============================================
svchost.exe 632 DcomLaunch
svchost.exe 684 RpcSs
svchost.exe 748 Dhcp, Dnscache
svchost.exe 788 LmHosts, W32Time
svchost.exe 804 AeLookupSvc, AudioSrv, Navegador, CryptSvc,
 dmserver, EventSystem, helpsvc,
 lanmanserver, lanmanworkstation, Messenger,
 Netman, Nla, RasMan, Programación, seclogon,
 SENS, ShellHWDetection TrkWks, winmgmt
 wuauserv, WZCSVC
svchost.exe 1140 ERSvc
svchost.exe 1712 RemoteRegistry
svchost.exe 196 W3SVC
svchost.exe 2940 terminal server
svchost.exe 2420 TapiSrv

Los servicios no son necesariamente organizada por svchost.exe. Por lo tanto, si usted no puede encontrar un servicio de filtrado de la ejecución de nombre de archivo, ejecute tasklist /svc. Se mostrará a todos los servicios.

9voto

Chris T. Puntos 51

Proceso de explorer, en efecto, que la memoria individual de uso dentro de svchost Asegúrese de tener la última versión desde aquí http://technet.microsoft.com/en-us/sysinternals/bb896653

Asegúrese de ejecutar el Proceso de Explorer como administrador, haga clic en el svchost que se desea inspeccionar, haga clic en el View DLLs botón (o CTRL+D). Haga clic en los encabezados de los archivos Dll de la ventana, Select Columns..., a continuación, compruebe WS Total Bytes, y golpeó OK.

Ahora usted puede ver y ordenar en el uso de la memoria de los servicios individuales (implementado por el dll) en el svchost.

7voto

David Crow Puntos 7704

Mientras Process Monitor es una utilidad de propósito general (que va a hacer de todo, pero lavar los platos para usted), para esta pregunta en particular que usted desea utilizar VMMap (otro de SysInternals utilidad)

http://technet.microsoft.com/en-us/sysinternals/dd535533.aspx

VMMap es un proceso de la memoria virtual y física análisis de la utilidad. Se muestra la descomposición de un proceso de la memoria virtual asignada tipos, así como la cantidad de memoria física (conjunto de trabajo) asignado por el sistema operativo a esos tipos. Además de las representaciones gráficas de uso de la memoria, VMMap también muestra información de resumen y un proceso detallado mapa de memoria. Potente filtrado y actualización de capacidades que le permiten identificar las fuentes de la memoria del proceso de uso de memoria y el costo de las características de la aplicación.

Además de flexible puntos de vista para el análisis de los procesos vivos, VMMap admite la exportación de datos en múltiples formas, incluyendo un formato nativo que conserva toda la información de modo que usted puede cargar de nuevo. También incluye opciones de línea de comandos que permiten a los escenarios de secuencias de comandos.

3voto

user2278 Puntos 713

Esto se está poniendo en stackoverflow territorio, pero si consigues de estadísticas de la memoria de cada subproceso puede relacionar más o menos que los archivos dll de servicio individual emparejándolos hasta las dlls enumeran en la pila del subproceso. Manera demasiado para mi pequeña sysadmin, aunque el cerebro.

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: