Gelegentlich stoße ich auf Server (Windows 2003 und 2008) mit einer hohen prozentualen Unterbrechungszeit. Gibt es eine Möglichkeit zu sehen, welches Programm oder Gerät die Interrupts verursacht?
quelle
Gelegentlich stoße ich auf Server (Windows 2003 und 2008) mit einer hohen prozentualen Unterbrechungszeit. Gibt es eine Möglichkeit zu sehen, welches Programm oder Gerät die Interrupts verursacht?
Nach dem Durchstöbern der Dokumentation (basierend auf den anderen Antworten hier) habe ich Folgendes ausgeführt:
Erfassen Sie das ETW-Protokoll des Problems
Am einfachsten geht das mit dem Windows Performance Recorder . Ich bin mir nicht sicher, wann es zum ersten Mal aufgetaucht ist, aber es scheint in neueren Windows-Versionen eingebaut zu sein. Stellen Sie das Profil auf CPU usage
.
Oder navigieren Sie über eine Eingabeaufforderung mit erhöhten Rechten zu dem Ordner, in dem sich der Befehl befindet, und verwenden Sie das Befehlszeilentool xperf:
xperf -on base+interrupt+dpc
Beachten Sie, dass Sie Process Monitor oder eine andere App, die ETW verwendet, schließen müssen, da andernfalls die folgende Fehlermeldung angezeigt wird: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
Beenden Sie die Verfolgung / speichern Sie das Protokoll
xperf -d interrupt_trace.etl
Öffnen Sie den Trace in Windows Performance Analyzer
(Teil von Windows Performance Toolkit). Einige Orte erwähnen xperfview
stattdessen die Verwendung von .
Erweitern Sie Computation
-> CPU Usage (Sampled)
-> DPC and ISR Usage by Module, Stack
, klicken Sie mit der rechten Maustaste undadd graph to analysis view
Dies wies direkt auf den fraglichen Fahrer hin. In diesem Fall verwendet HDAudBus.sys über Interrupts konstant 10,82% meiner CPU. Genau das hat mir Process Explorer gezeigt.
Wenn Sie mit einfachen Systemwerkzeugen umgehen können;
Nachdem Sie erfahren haben, wie Sie xperf verwenden; Auschecken;
quelle
Hier ist der beste Artikel, den ich dazu gefunden habe, mit Tutorials, Screenshots und Download-Links zu den relevanten Tools:
http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/
quelle
Schauen Sie sich den Windows Process Explorer an:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Das sollte helfen.
quelle
Zwei großartige Tools sind LatencyMon und DPC Latency Checker .
quelle