¿Cómo puedo saber qué está provocando las interrupciones en Windows?

¿Cómo puedo saber qué está provocando las interrupciones en Windows?

De vez en cuando me encuentro con servidores (Windows 2003 y 2008) con un alto porcentaje de tiempo de interrupción del procesador. ¿Hay alguna manera de ver qué programa o dispositivo está causando las interrupciones?

Respuesta1

Después de revisar la documentación (según las otras respuestas aquí), este es el proceso que terminé usando:

  1. Capture el registro ETW del problema

    La forma más sencilla de hacerlo es utilizando elGrabador de rendimiento de Windows. No estoy seguro de cuándo apareció por primera vez, pero parece estar integrado en versiones recientes de Windows. Establezca el perfil en CPU usage.

    Grabador de rendimiento de Windows

    o, usando un símbolo del sistema elevado, navegue hasta 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 utilice ETW o recibirá el siguiente error: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).

  2. Detener el seguimiento/guardar el registro

    xperf -d interrupt_trace.etl
    
  3. Abra el seguimiento en Windows Performance Analyzer(parte del kit de herramientas de rendimiento de Windows); algunos lugares mencionan el uso xperfviewen su lugar.

  4. Expandir Computation-> CPU Usage (Sampled)-> DPC and ISR Usage by Module, Stack, hacer clic derecho yadd graph to analysis view

    Analizador de rendimiento de Windows

  5. Esto apuntaba 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 me estaba mostrando Process Explorer.

Respuesta2

Si puede manejar herramientas del sistema de bajo nivel;

Analizador de rendimiento de Windows (WPA)

Windows Performance Analyzer (WPA) es un conjunto de herramientas de monitoreo del rendimiento que se utilizan para producir perfiles de rendimiento detallados de los sistemas operativos y aplicaciones de Microsoft Windows.

Después de aprender a utilizar xperf; verificar;

La acción DPC/ISR

La acción DPC/ISR produce un informe de texto que resume las diversas métricas relacionadas con DPC e ISR. El uso de esta acción es:

Copiar código -a dpcisr [-dpc -isr -summary -interval [n] -bucket [n] -range T1 T2 ]

Opción

Descripción

dpc

Mostrar estadísticas solo para DPC

isr

Mostrar estadísticas solo para ISR

resumen

Mostrar informe resumido

intervalo [dt]

Mostrar informe de uso para intervalos de dt, el valor predeterminado es 1 segundo

cubo [dt]

Muestra histograma para intervalos de dt, el valor predeterminado es 2 segundos

rango T1 T2

Mostrar retrasos entre T1 y T2

If no data type is specified, default is to show report for both DPC

e ISR. Si no se especifica ningún tipo de informe, el valor predeterminado es imprimir los tres tipos de informe.

Respuesta3

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/

Respuesta4

Dos grandes herramientas sonLatenciaMonyComprobador de latencia DPC.

información relacionada