Monitoruje procento času DPC.
Čítač výkonu % času DPC (Informace o procesoru\% času DPC\_Total) tohoto systému překročil prahovou hodnotu. Celkový výkon systému se může významně snížit, což může vést k nízkému výkonu operačního systému a aplikací.
% času DPC je procentuální hodnotou času, který procesor stráví přijímáním a obsluhou odložených volání procedur (DPC). DPC jsou přerušení, která se spouští s nižší prioritou než standardní přerušení. Pokud je % času DPC trvalejší, může jít o snížení výkonu procesoru nebo o problém týkající se určité aplikace či hardwaru, který může výrazně snížit celkový výkon systému.
Vysoká hodnota čítače % času DPC může být způsobena jednou nebo více z následujících možností:
Nízký výkon procesoru
Problém související se softwarem
Problém související s hardwarem nebo ovladačem zařízení
K určení hlavní příčiny stavu vysoké hodnoty DPC postupujte následovně.
Sledujte poměr času procesoru stráveného obsluhou přerušení a DPC. To provedete monitorováním následujících čítačů v reálném čase pomocí nástroje Sledování systému:
Informace o procesoru\% procesorového času
Informace o procesoru\% času přerušení
Informace o procesoru\% času DPC
Pokud je % zachovaného procesorového času > 85 % a % doby přerušení nebo % doby DPC > 15 %, je procesor pravděpodobnou příčinou nízkého výkonu. Nízký výkon je možné vyřešit upgradem nebo přidáním dalších procesorů do počítače.
Pokud má procesor dlouhodobě % času procesoru < 85 % a zároveň spotřebuje > 15 % tohoto času obsluhou přerušení a/nebo DPC, může být příčinou nízkého výkonu problém související s aplikací nebo hardwarem.
Pokud je hlavní příčinou hardwarové zařízení, správce zjistí, že % času DPC se pravděpodobně významně zvýšilo během krátkého časového období. K tomuto často dochází při instalaci nového hardwaru nebo upgradu ovladačů. Pokud může správce příslušný problém identifikovat jako potíže s hardwarem nebo ovladačem zařízení, jde potíže vyřešit ve spolupraci s dodavatelem.
V případě, že provádíte správu víceprocesorového systému, který nedistribuuje přerušení symetricky, můžete distribuci zatížení procesoru často zlepšit přidáním síťových adaptérů, takže na každý procesor bude k dispozici jeden adaptér. Obecně přidáváte adaptéry pouze v případě, že potřebujete zlepšit propustnost systému. Síťové adaptéry mají stejně jako každý dodatečný hardware určitou vnitřní režii. Je-li však jeden z procesorů takřka vždy aktivní (tj., jestliže Informace o procesoru: % procesorového času = 100) a více než polovina tohoto času je vynaložena na obsluhu DPC (jestliže Informace o procesoru: % času DPC > 50), pak přidáním adaptéru pravděpodobně dojde ke zlepšení výkonu systému, pokud už není šířka pásma sítě nasycená.
Pokud je hlavní příčinou určitá aplikace, zjistíte, že přerušení DPC jsou pravděpodobně blokována aplikací, která odeslala volání, jehož provedení zabírá významné množství času. Během této doby jsou DPC blokovány a budou zařazeny do fronty. Chcete-li určit, která aplikace je hlavní příčinou, je nutné spustit pokročilý nástroj pro sledování výkonu, trasování a diagnostiku, pomocí něhož přesně určíte aplikaci, která je příčinou potíží s výkonem.
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>