Pourcentage du temps DPC total du processeur

Microsoft.Linux.SLES.9.Processor.PercentDPCTime.Monitor (UnitMonitor)

Cette analyse vérifie le pourcentage du temps DPC total du processeur sur le système d'exploitation SUSE Linux Enterprise Server 9

Knowledge Base article:

Résumé

Cette analyse vérifie le pourcentage du temps DPC total du système. Si vous recevez une alerte via cette analyse, vous devez faire en sorte que le système retrouve un état de fonctionnement normal.

Le pourcentage de temps DPC est le pourcentage de temps que le processeur passe à recevoir et traiter des appels DPC (appels de procédure différés). Les appels DPC, ou les interruptions logicielles, 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 bien, un problème matériel ou relatif à une application, ce qui peut réduire de manière significative les performances globales du système.

Causes

Un pourcentage élevé de temps DPC peut être lié à une ou plusieurs des causes suivantes :

Solutions

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 Processeur\% Temps processeur pour chaque instance de processeur.

Si une instance de processeur exécute un % Temps processeur maintenu supérieur à 85 % et si elle passe également plus de 15 % de ce temps à traiter des interruptions et/ou des appels DPC, le processeur peut être à l'origine d'un goulot d'étranglement. Ce goulot d'étranglement peut être solutionné grâce à la mise à niveau ou à l'ajout de processeurs supplémentaires sur l'ordinateur.

Si le processeur exécute un % Temps processeur maintenu inférieur à 85 % et qu'il passe également plus de 15 % de ce temps à traiter des interruptions et/ou des appels DPC, le problème de performance peut provenir d'une application ou d'un problème matériel.

Element properties:

TargetMicrosoft.Linux.SLES.9.Processor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Le pourcentage du temps DPC est trop élevé
Le seuil du compteur de performances Processeur\Pourcentage du temps DPC\ a été dépassé. La valeur ayant dépassé le seuil est la suivante : {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.SLES.9.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.9.Processor" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType" Enabled="true" ParentMonitorID="SystemHealth!System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Linux.SLES.9.Processor.PercentDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_ProcessorStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Processor</ObjectName>
<CounterName>% Interrupt Time</CounterName>
<InstanceName>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</InstanceName>
<InstanceProperty>//*[local-name()="Name"]</InstanceProperty>
<Value>$Data///*[local-name()="PercentDPCTime"]$</Value>
<Threshold>15</Threshold>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>