De vez en cuando me encuentro con servidores (Windows 2003 y 2008) con un alto porcentaje de interrupción del procesador. ¿Hay alguna manera de ver qué programa o dispositivo está causando las interrupciones?
fuente
De vez en cuando me encuentro con servidores (Windows 2003 y 2008) con un alto porcentaje de interrupción del procesador. ¿Hay alguna manera de ver qué programa o dispositivo está causando las interrupciones?
Después de examinar la documentación (basada en las otras respuestas aquí), este es el proceso que terminé usando:
Capture el registro ETW del problema.
La forma más fácil de hacerlo es usar el Grabador de rendimiento de Windows . No estoy seguro de cuándo apareció por primera vez, pero parece estar integrado en versiones recientes de Windows. Establece el perfil en CPU usage
.
o, usando un símbolo del sistema elevado, navegue a la carpeta que lo contiene y use la herramienta de línea de comandos xperf:
xperf -on base+interrupt+dpc
Tenga en cuenta que deberá cerrar Process Monitor o cualquier otra aplicación que use ETW o recibirá el siguiente error: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
Dejar de rastrear / guardar el registro
xperf -d interrupt_trace.etl
Abra el seguimiento en Windows Performance Analyzer
(parte de Windows Performance Toolkit); Algunos lugares mencionan usar en su xperfview
lugar.
Expanda Computation
-> CPU Usage (Sampled)
-> DPC and ISR Usage by Module, Stack
, haga clic derecho yadd graph to analysis view
Esto apuntó directamente al conductor en cuestión. En este caso, HDAudBus.sys está utilizando un 10.82% constante de mi CPU a través de interrupciones, que es exactamente lo que Process Explorer me estaba mostrando.
Si puede manejar herramientas de sistema de bajo nivel;
Después de aprender a usar xperf; revisa;
fuente
Aquí está el mejor artículo que he encontrado sobre cómo hacer esto, con tutoriales, capturas de pantalla y enlaces de descarga a las herramientas relevantes:
http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/
fuente
Echa un vistazo al Explorador de procesos de Windows:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Eso debería ayudar.
fuente
Dos excelentes herramientas son LatencyMon y DPC Latency Checker .
fuente