Hiermee bewaakt u het percentage van de DPC-tijd.
Het percentage DPC-tijd (Processorinformatie\Percentage DPC-tijd\_Totaal) voor het systeem 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.
Een hoog percentage DPC-tijd kan een of meer van de volgende oorzaken hebben:
Processorknelpunt
Softwareprobleem
Hardware- of stuurprogrammagerelateerd probleem
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:
Processorinformatie\Percentage processortijd
Processorinformatie\Percentage interrupt-tijd
Processorinformatie\Percentage DPC-tijd
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, evenals andere hardware, brengen extra overhead met zich mee. Als een van de processors echter bijna altijd actief is (dat wil zeggen, als processorinformatie: percentage processortijd = 100) en meer dan de helft van deze tijd wordt besteed aan het verwerken van DPC's (als processorinformatie: % DPC-tijd > 50), zal het toevoegen van een adapter waarschijnlijk de systeemprestaties verbeteren, als de beschikbare netwerkbandbreedte nog niet is verzadigd.
Als een toepassing de hoofdoorzaak 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.
Target | Microsoft.Windows.Server.10.0.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Instance Name | Processor Information | ||
Counter Name | \% DPC Time | ||
Frequency | 120 | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.TotalDPCTime" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.OperatingSystem.TotalDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% DPC Time</CounterName>
<ObjectName>Processor Information</ObjectName>
<InstanceName>_Total</InstanceName>
<Frequency>120</Frequency>
<Threshold>95</Threshold>
<Direction>greater</Direction>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>