Come posso sapere cosa sta causando gli interrupt su Windows?


37

Occasionalmente mi imbatto in server (Windows 2003 e 2008) con un tempo di interruzione elevato del processore%. C'è un modo per vedere quale programma o dispositivo sta causando gli interrupt?

Risposte:


41

Dopo aver esaminato la documentazione (in base alle altre risposte qui), questo è il processo che ho finito usando:

  1. Cattura il registro ETW del problema

    Il modo più semplice per farlo è utilizzare il Performance Recorder di Windows . Non sono sicuro quando è apparso per la prima volta, ma sembra essere integrato nelle ultime versioni di Windows. Imposta il profilo su CPU usage.

    Registratore di prestazioni di Windows

    oppure, utilizzando un prompt dei comandi con privilegi elevati, passare alla cartella che lo contiene e utilizzare lo strumento da riga di comando xperf:

    xperf -on base+interrupt+dpc
    

    Nota, dovrai chiudere Process Monitor o qualsiasi altra app che utilizza ETW o visualizzerai il seguente errore: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).

  2. Interrompere la traccia / salvare il registro

    xperf -d interrupt_trace.etl
    
  3. Apri la traccia in Windows Performance Analyzer(parte di Windows Performance Toolkit); alcuni luoghi menzionano xperfviewinvece l' uso .

  4. Espandere Computation-> CPU Usage (Sampled)-> DPC and ISR Usage by Module, Stack, fare clic con il tasto destro eadd graph to analysis view

    Analizzatore delle prestazioni di Windows

  5. Ciò indicava il conducente in questione. In questo caso, HDAudBus.sys utilizza un costante 10,82% della mia CPU tramite interrupt, che è esattamente ciò che Process Explorer mi stava mostrando.


Ben fatto! Molto ben fatto.
Michal Sokolowski il

Ben spiegato. Nel mio caso, si è rivelato essere audiodg.exe. Non appena l'ho ucciso, i DPC sono andati quasi a nulla. Ho trovato ulteriori dettagli su come risolverlo qui: windows-exe-errors.com/…
CJBS

Una correzione: è necessario espandere Calcolo-> Utilizzo CPU (campionato) - "Utilizzo CPU" è ambiguo.
Bruce Dawson,

Nel mio caso avevo il 10% di DPC in Task Manager, ma la maggior parte era ntoskrnl.exe nella traccia. Tuttavia, l'espansione dello stack di quel modulo ha rivelato un servizio di terze parti "RfeCo10X64.sys", che faceva parte di Killer Performance Suite. Ho disinstallato quel software (un sistema di prioritizzazione della rete che stava facendo il contrario di quello che ha tentato) e il mio problema è stato risolto.
Chris,

Funziona su Windows 10? Altri strumenti disponibili? Non voglio installare i file GiB dell'intero pacchetto.
Unknown123

4

Se riesci a gestire strumenti di sistema di basso livello;

Windows Performance Analyzer (WPA)

Windows Performance Analyzer (WPA) è un insieme di strumenti di monitoraggio delle prestazioni utilizzati per produrre profili di prestazioni approfonditi dei sistemi operativi e delle applicazioni Microsoft Windows.

Dopo aver imparato come usare xperf; check-out;

L'azione DPC / ISR

L'azione DPC / ISR produce un rapporto di testo che sintetizza le varie metriche relative a DPC e ISR. L'utilizzo per questa azione è:

Copia codice -a dpcisr [-dpc -isr -summary -interval [n] -bucket [n] -range T1 T2]

Opzione

Descrizione

DPC

Mostra statistiche solo per DPC

isr

Mostra statistiche solo per ISR

sommario

Mostra rapporto di riepilogo

intervallo [dt]

Mostra rapporto di utilizzo per intervalli di tempo, il valore predefinito è 1 secondo

secchio [dt]

Mostra istogramma per intervalli di dt, il valore predefinito è 2 secondi

intervallo T1 T2

Mostra i ritardi tra T1 e T2

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

e ISR. Se non viene specificato alcun tipo di rapporto, per impostazione predefinita è stampare tutti e tre i tipi di rapporto.


3

Ecco l'articolo migliore che ho trovato su come farlo, con tutorial, schermate e collegamenti per il download degli strumenti pertinenti:

http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/


1
Benvenuti in Server Fault! In generale, ci piace che le risposte sul sito siano in grado di resistere da sole - I collegamenti sono fantastici, ma se quel collegamento si rompe la risposta dovrebbe avere informazioni sufficienti per essere ancora utile. Si prega di considerare la modifica della risposta per includere ulteriori dettagli. Vedi le FAQ per maggiori informazioni.
slm,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.