55 votes

Comment puis-je savoir ce qui provoque des interruptions sous Windows ?

Il m'arrive de rencontrer des serveurs (Windows 2003 et 2008) dont le pourcentage de temps d'interruption du processeur est élevé. Existe-t-il un moyen de savoir quel programme ou périphérique est à l'origine de ces interruptions ?

64voto

Dave Andersen Points 671

Après avoir fouillé dans la documentation (sur la base des autres réponses ici), voici le processus que j'ai fini par utiliser :

  1. Saisir le journal de l'ETW du problème

    La manière la plus simple d'y parvenir est d'utiliser la fonction Enregistreur de performances Windows . Je ne sais pas exactement quand il est apparu pour la première fois, mais il semble qu'il soit intégré dans les versions récentes de Windows. Réglez le profil sur CPU usage .

    Windows Performance Recorder

    ou, à l'aide d'une invite de commande élevée, naviguer jusqu'au dossier qui le contient et utiliser l'outil de ligne de commande xperf :

    xperf -on base+interrupt+dpc

    Notez que vous devrez fermer Process Monitor ou toute autre application qui utilise ETW, sinon vous obtiendrez l'erreur suivante : xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).

  2. Arrêter le traçage / sauvegarder le journal

    xperf -d interrupt_trace.etl
  3. Ouvrir la trace dans Windows Performance Analyzer (qui fait partie de Windows Performance Toolkit) ; certains endroits mentionnent l'utilisation de xperfview au lieu de cela.

  4. Élargir Computation -> CPU Usage (Sampled) -> DPC and ISR Usage by Module, Stack cliquer avec le bouton droit de la souris et add graph to analysis view

    Windows Performance Analyzer

  5. Ce dernier a pointé du doigt le conducteur en question. Dans ce cas, HDAudBus.sys utilise constamment 10,82% de mon processeur via les interruptions, ce qui correspond exactement à ce que l'explorateur de processus m'indiquait.

5voto

William Leonard Points 101

Si vous pouvez utiliser des outils de système de bas niveau ;

Analyseur de performance Windows (WPA)

Windows Performan un ensemble d'outils de contrôle des performances utilisés pour produire des profils de performance approfondis de l'opéra et des applications.

Après avoir appris à utiliser xperf, consultez le site ;

L'action DPC/ISR

L'action DPC/ISR produit un texte qui résume les différents métriques concernant les DPC et les ISR. L'utilisation de cette action est la suivante l'utilisation de cette action est la suivante :

C -a dpcisr [-dpc -isr -summary -intervalle [n] -bucket [n] -range T1 T2 ]

Option

Description

dpc

Afficher les statistiques pour DPC uniquement

isr

Afficher les statistiques pour les BVR uniquement

résumé

Afficher le rapport de synthèse

intervalle [dt]

Afficher le rapport d'utilisation pour les intervalles de dt, la valeur par défaut est de 1 seconde

seau [dt]

Afficher l'histogramme pour int la valeur par défaut est de 2 secondes

plage T1 T2

Afficher les retards 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 n'est spécifié, l'impression des trois les trois types de rapport.

3voto

Syclone0044 Points 141

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 appropriés :

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

3voto

user47611 Points 86

Deux excellents outils sont LatencyMon y Vérificateur de latence DPC .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X