Réponses:
Après avoir fouillé dans la documentation (basée sur les autres réponses ici), voici le processus que j'ai finalement utilisé:
Capturer le journal ETW du problème
Pour ce faire, le moyen le plus simple consiste à utiliser Windows Performance Recorder . Je ne suis pas sûr de sa date d'apparition, mais semble être intégré aux versions récentes de Windows. Définissez le profil sur CPU usage
.
ou, à l'aide d'une invite de commande avec privilèges élevés, accédez au dossier qui les contient et utilisez l'outil de ligne de commande xperf:
xperf -on base+interrupt+dpc
Notez que vous devrez fermer Process Monitor ou toute autre application utilisant ETW ou vous obtiendrez l'erreur suivante: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
Arrêter le traçage / sauvegarder le journal
xperf -d interrupt_trace.etl
Ouvrez la trace dans Windows Performance Analyzer
(partie de Windows Performance Toolkit); certains endroits mentionnent utiliser à la xperfview
place.
Développez Computation
-> CPU Usage (Sampled)
-> DPC and ISR Usage by Module, Stack
, faites un clic droit etadd graph to analysis view
Cela a indiqué directement au conducteur en question. Dans ce cas, HDAudBus.sys utilise une quantité constante de 10,82% de mon processeur via des interruptions, ce qui est exactement ce que Process Explorer me montrait.
Si vous pouvez gérer des outils système de bas niveau;
Analyseur de performances Windows (WPA)
WPA (Windows Performance Analyzer) est un ensemble d'outils de surveillance des performances permettant de générer des profils de performances détaillés des applications et des systèmes d'exploitation Microsoft Windows.
Après avoir appris à utiliser xperf; check-out;
L'action DPC / ISR génère un rapport texte résumant les différentes mesures relatives aux DPC et aux ISR. L'utilisation pour cette action est:
Copier le code -a dpcisr [-dpc -isr -summary -interval [n] -bucket [n] -range T1 T2]
Option
La description
dpc
Afficher les statistiques pour DPC uniquement
isr
Afficher les statistiques pour ISR uniquement
sommaire
Afficher le rapport de synthèse
intervalle [dt]
Afficher le rapport d'utilisation pour les intervalles de dt, la valeur par défaut est 1 seconde
seau [dt]
Afficher l'histogramme pour les intervalles de dt, la valeur par défaut est 2 secondes
gamme T1 T2
Afficher les délais entre T1 et T2
If no data type is specified, default is to show report for both DPC
et ISR. Si aucun type de rapport n'est spécifié, la valeur par défaut consiste à imprimer les trois types de rapport.
Voici le meilleur article que j'ai trouvé sur la façon de procéder, avec des tutoriels, des captures d'écran et des liens de téléchargement vers les outils pertinents:
http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/
Jetez un coup d’œil à l’explorateur de processus Windows:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Cela devrait aider.
LatencyMon et DPC Latency Checker sont deux excellents outils .