Celkové procento času DPC

Microsoft.Windows.Server.6.2.OperatingSystem.TotalDPCTime (UnitMonitor)

Monitoruje procento času DPC.

Knowledge Base article:

Souhrn

Čí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.

Příčiny

Vysoká hodnota čítače % času DPC může být způsobena jednou nebo více z následujících možností:

Řešení

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:

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.

Element properties:

TargetMicrosoft.Windows.Server.6.2.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameProcessor Information
Counter Name\% DPC Time
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Celková procentuální hodnota času DPC je příliš vysoká.
Prahová hodnota pro čítač výkonu Informace o procesoru\\% času DPC\_Celkem byla překročena.
RunAsDefault

Source Code:

<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>