Monitoruje procento času DPC.
Čítač % času primárního řadiče domény (Informace o procesoru\% času DPC \_Celkem) daného 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í:
Omezení výkonu 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 velikost procesorového času 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 %, bude procesor pravděpodobným zdrojem nízkého výkonu. Tento snížený výkon lze řešit upgradem nebo přidáním procesorů do počítače.
Pokud je % zachovaného procesorového času < 85 % a % doby přerušení nebo % doby DPC > 15%, mohou problémy s výkonem vznikat vlivem aplikace nebo souviset s hardwarem.
Je-li hlavní příčinou hardwarové zařízení, správce zjistí, že % času DPC se během krátkého časového období pravděpodobně významně zvýšilo. K tomuto často dochází při instalaci nového hardwaru nebo upgradu ovladačů. Může-li správce příslušný problém identifikovat jako potíže s hardwarem či ovladačem zařízení, lze potíže vyřešit spoluprací 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, není-li již šířka pásma sítě nasycena.
Je-li hlavní příčinou určitá aplikace, zjistíte, že DPC jsou pravděpodobně zablokovány 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.6.2.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.6.2.OperatingSystem.TotalDPCTime" Accessibility="Public" Enabled="false" Target="WindowsServer!Microsoft.Windows.Server.6.2.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.6.2.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>