Totaal percentage DPC-tijd van processor

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

Monitor voor het totale percentage DPC-tijd van SUSE Linux Enterprise Server 12

Knowledge Base article:

Samenvatting

Het percentage DPC-tijd (voor één processor) is hoog. Systeemprestaties kunnen nadelig worden beïnvloed.

De DPC-tijd van de processor is de tijd die één processor besteed aan het ontvangen en verwerken van uitgestelde procedure aanroepen (DPC's). DPC's (uitgestelde procedureaanroepen) zijn interrupts met een lagere prioriteit dan standaardinterrupts. Percentage DPC-tijd is een onderdeel van Percentage tijd in beschermde modus omdat DPC's worden uitgevoerd in de beschermde modus. Als er aanhoudend een hoog percentage DPC-tijd is, kan er een knelpunt voor een processor zijn of een toepassings- of hardwaregerelateerd probleem dat de algehele systeemprestaties aanzienlijk kan verminderen.

De monitordrempelwaarde wordt geanalyseerd tegen het gemiddelde van de waarden die in peilingen aan de agent worden geretourneerd. De parameter Aantal steekproeven bepaalt het aantal steekproeven dat bij de berekening van het gemiddelde is opgenomen. De door de agent geretourneerde waarde is het oplopende gemiddelde van de 5 meest recente waarden die in intervallen van 1 minuut zijn opgevraagd.

Configuratie

De bewaking van afzonderlijke processors is standaard uitgeschakeld. Schakel de bewaking in door de objectdetectie met de naam SUSE Linux Enterprise Server 12-processor detecteren in te schakelen.

Standaardconfiguratie

Parameter

Standaardwaarde

Drempelwaarde

15

Interval (seconden)

300

Aantal steekproeven

3

Onderdrukkingen kunnen worden gebruikt om de hierboven gedefinieerde parameterwaarden te wijzigen voor alle exemplaren of voor specifieke exemplaren of groepen.

Oorzaken

Een hoge DPC-tijd kan worden veroorzaakt door een of meer van de volgende items:

Oplossingen

Volg de onderstaande procedure om de oorzaak van een hoge DPC-tijd te bepalen. Observeer welk deel van de processortijd aan de verwerking van interrupts en DPC's wordt besteed. Controleer hiervoor de volgende metrische gegevens:

Vergelijk de waarden van het Percentage interrupttijd en Percentage DPC-tijd met Percentage processortijd voor elk processorexemplaar.

Als Percentage processortijd aanhoudend > 85% en Percentage interrupt-tijd of Percentage DPC-tijd > 15% is, zijn de processors waarschijnlijk de oorzaak van het prestatieknelpunt. Dit knelpunt kan worden verholpen door de processors te upgraden of toe te voegen aan de computer.

Als Percentage processortijd aanhoudend < 85% en Percentage interrupt-tijd of Totaal percentage DPC-tijd > 15% is, is het prestatieprobleem mogelijk te wijten aan een toepassings- of hardwareprobleem.

Element properties:

TargetMicrosoft.Linux.SLES.12.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
Percentage DPC-tijd is te hoog
De drempelwaarde voor het prestatiemeteritem Processor\Percentage DPC-tijd is overschreden. De waarde die groter is dan de drempelwaarde is: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.SLES.12.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.12.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.12.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>/DataItem/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='Name']</InstanceProperty>
<Value>$Data/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='PercentDPCTime']$</Value>
<Threshold>15</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>