Percentage DPC-tijd CPU

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

Controleert het percentage DPC-tijd.

Knowledge Base article:

Samenvatting

Het percentage DPC-tijd (Processorinformatie\Percentage DPC-tijd\) voor de processor heeft de drempelwaarde overschreden. De prestaties van het hele systeem kunnen aanzienlijk afnemen, hetgeen resulteert in slechte prestaties van besturingssysteem en toepassingen.

Percentage DPC-tijd is het percentage tijd dat de processor besteedt aan het ontvangen en verwerken van uitgestelde procedure aanroepen (DPC's). DPC's (deferred procedure calls) zijn interrupts met een lagere prioriteit dan standaardinterrupts. 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.

Oorzaken

Een hoog percentage DPC-tijd kan een of meer van de volgende oorzaken hebben:

Oplossingen

Om de recente geschiedenis van de processorgerelateerde prestatiemeteritems te bekijken, kunt u gebruikmaken van de volgende weergave:

Prestatieweergave processor starten

Volg de onderstaande procedure om de grondoorzaak van een hoge DPC-snelheid te bepalen.

Observeer welk deel van de processortijd aan de verwerking van interrupts en DPC's wordt besteed. Om dit te doen, moet u de volgende prestatiemeter-items in real-time in de gaten houden met Systeemmonitor:

Vergelijk de waarden van de prestatiemeteritems Percentage interrupt-tijd en Percentage DPC-tijd met Processorinformatie\Percentage processortijd voor elk processorexemplaar.

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

Als Percentage processortijd van een processor aanhoudend < 85% en Percentage interrupt-tijd of Percentage DPC-tijd > 15% is, wordt het prestatieprobleem waarschijnlijk veroorzaakt door een toepassing of een hardwaregerelateerd probleem.

Als een hardwareapparaat de hoofdoorzaak is, zal de beheerder mogelijk constateren dat het Percentage DPC-tijd in korte tijd aanzienlijk is toegenomen. Dit gebeurt vaak wanneer er nieuwe hardware is geïnstalleerd of de stuurprogramma's zijn bijgewerkt. Als de beheerder het probleem kan isoleren tot een hardware/apparaatstuurprogrammaprobleem, kan dit in samenwerking met de leverancier worden opgelost.

In gevallen waarin u een systeem met meerdere processors beheert waarin interrupts niet symmetrisch worden verdeeld, kunt u de verdeling van de processorbelasting vaak verbeteren door netwerkdapters toe te voegen (een adapter voor iedere processor). Over het algemeen voegt u alleen adapters toe wanneer u de doorvoer van uw systeem wilt verbeteren. Netwerkadapters, evenal andere hardware, brengen extra overhead met zich mee. Maar als een van de processors bijna altijd actief is (dus bij Processorinformatie: percentage processortijd = 100), en meer dan de helft van de tijd aan de verwerking van DPC's wordt besteed (als processorinformatie: Percentage DPC-tijd > 50), dan zal het toevoegen van een adapter van gunstige invloed zijn op de systeemprestaties, zolang de beschikbare netwerkbandbreedte niet al overbelast is.

Als een toepassing de hoofddoorzaak is, worden DPC's mogelijk geblokkeerd door een toepassing die een aanroep heeft uitgevoerd die veel tijd in beslag neemt. Gedurende deze tijd worden DPC's geblokkeerd en in de wachtrij geplaatst. Om vast te stellen welke toepassing precies de grondoorzaak van de problemen is, moet u geavanceerde opsporingsmethoden gebruiken om de prestaties van de toepassingen te controleren, de toepassingen te traceren en diagnoses voor de toepassingen te stellen.

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>180</Frequency>
<Threshold>10</Threshold>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>