Pourcentage de temps DPC du processeur

Microsoft.Windows.Server.10.0.Processor.PercentDPCTime (UnitMonitor)

Surveille le pourcentage de temps DPC

Knowledge Base article:

Résumé

La valeur % Temps DPC (Informations processeur\% Temps DPC) du processeur a dépassé le seuil. Les performances globales du système peuvent considérablement diminuer, ce qui a un effet néfaste sur le fonctionnement du système d'exploitation et des applications.

La valeur % Temps DPC correspond au pourcentage de temps que le processeur passe à recevoir et à traiter des appels de procédure différés (DPC). Les appels DPC sont des interruptions qui s'exécutent à un niveau de priorité inférieur par rapport aux interruptions standard. Si un pourcentage de temps DPC élevé est maintenu, cela peut indiquer un goulot d'étranglement au niveau du processeur, ou un problème matériel ou lié à une application, ce qui peut réduire de manière significative les performances globales du système.

Causes

Une valeur élevée de % Temps DPC peut être liée à une ou plusieurs des causes suivantes :

Résolutions

Pour afficher un historique récent des compteurs de performances liés au processeur, vous pouvez utiliser l'affichage suivant :

Démarrer l'affichage des performances Processeur

Pour déterminer l'origine d'un DPC élevé, suivez le processus décrit ci-dessous.

Observez la proportion de temps processeur passé à traiter les interruptions et les appels DPC. Pour cela, analysez les compteurs suivants en temps réel à l'aide du Moniteur système :

Comparez les valeurs des compteurs % Temps d'interruption et % Temps DPC avec Informations processeur\% Temps processeur pour chaque instance de processeur.

Si une instance de processeur consomme régulièrement plus de 85 % du temps processeur et si elle passe également plus de 15 % de ce temps à traiter des interruptions et/ou des appels DPC, alors le processeur est probablement à l'origine d'un goulot d'étranglement. Ce goulot d'étranglement peut être résolu grâce à la mise à niveau ou à l'ajout de processeurs sur l'ordinateur.

Si le processeur consomme régulièrement moins de 85 % du temps processeur et qu'il passe également plus de 15 % de ce temps à traiter des interruptions et/ou des appels DPC, alors le problème de performance peut provenir d'une application ou d'un matériel.

Quand un périphérique matériel est à l'origine du problème, un administrateur peut constater que la valeur % Temps DPC a probablement augmenté de manière substantielle sur une courte période. Cela se produit fréquemment quand de nouveaux matériels sont installés ou que des pilotes sont mis à niveau. Si l'administrateur peut isoler le problème comme étant un problème de pilote matériel/périphérique, une solution peut être trouvée avec l'aide du fournisseur.

Dans les cas où vous administrez un système multiprocesseurs qui ne distribue pas les interruptions symétriquement, vous pouvez, dans la plupart des cas, améliorer la distribution de la charge du processeur en rajoutant des cartes réseau afin que chaque processeur ait sa propre carte. En général, vous ajoutez des cartes quand vous avez besoin d'améliorer le débit de votre système. Les cartes réseau, tout comme n'importe quel matériel supplémentaire, ont un délai intrinsèque. Toutefois, si l'un des processeurs est pratiquement toujours actif (c'est-à-dire que Informations processeur : % Temps processeur = 100) et qu'il passe plus de la moitié de son temps à traiter des appels DPC (si Informations processeur : % Temps DPC > 50), l'ajout d'une carte améliorera très certainement les performances du système, à condition que la bande passante disponible sur le réseau ne soit pas déjà saturée.

Quand une application est à l'origine du problème, vous constatez probablement que des appels DPC sont bloqués par une application qui a émis un appel ayant besoin d'un temps considérable pour se terminer. Pendant ce temps, les appels DPC sont bloqués et mis en file d'attente. Afin de déterminer quelle application est à l'origine de ce problème, vous devez exécuter les performances avancées, le traçage et les diagnostics pour déterminer avec exactitude l'application responsable de ce problème de performance.

Element properties:

TargetMicrosoft.Windows.Server.10.0.Processor
Parent MonitorMicrosoft.Windows.Server.10.0.Processor.PerformanceRollup
CategoryPerformanceHealth
EnabledFalse
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.10.0.Processor.Monitortype
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.Processor.PercentDPCTime" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.Processor" ParentMonitorID="Microsoft.Windows.Server.10.0.Processor.PerformanceRollup" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.10.0.Processor.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<CounterName>% DPC Time</CounterName>
<ObjectName>Processor</ObjectName>
<InstanceName>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.Processor"]/PerfmonInstance$</InstanceName>
<Frequency>120</Frequency>
<Threshold>15</Threshold>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>