Procento času DPC procesoru (operační systém Windows Server 2008 R2)

Microsoft.Windows.Server.2008.R2.Processor.PercentDPCTime (UnitMonitor)

Monitoruje procento času DPC v operačním systému Windows Server 2008 R2.

Knowledge Base article:

Souhrn

Čítač výkonu % času DPC (Informace o procesoru\% času DPC) pro procesor překročil prahovou hodnotu. Celkový výkon systému se může výrazně snížit, což bude mít za následek nedostatečný výkon operačního systému a aplikací.

Čítač výkonu % času DPC uvádí procentuální čas, který procesor strávil 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.

Toto monitorování je platné pouze pro operační systém Windows Server 2008 R2.

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í

Chcete-li zobrazit nedávnou historii pro čítače výkonu související s procesorem, můžete použít následující zobrazení:

Spustit zobrazení výkonu procesoru

Hlavní příčinu vysoké hodnoty DPC můžete zjistit následujícím postupem.

Sledujte velikost procesorového času stráveného obsluhou přerušení a DPC. Chcete-li to provést, monitorujte pomocí programu Sledování systému v reálném čase následující čítače:

Porovnejte hodnoty čítačů doby přerušení v % a doby DPC v % s procesorovým časem v % pro každou instanci procesoru.

Pokud má instance procesoru trvale hodnotu čítače % času procesoru vyšší než 85 % a také déle než 15 % tohoto času obsluhuje přerušení a DPC, je pravděpodobným zdrojem problémů s výkonem procesor. Tyto potíže lze řešit upgradem nebo přidáním dalších 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.

V případě, že je hlavní příčinou problémů hardwarové zařízení, správce zjistí, že se hodnota čítače % času DPC pravděpodobně během krátké doby podstatně zvýšila. K tomu často dochází, pokud je nainstalován nový hardware nebo byly upgradovány ovladače. Pokud správce dokáže zjistit, že příčinou problému jsou potíže s hardwarem či ovladačem zařízení, lze problém vyřešit ve spolupráci s dodavatelem hardwaru/ovladače.

V případech, kdy spravujete víceprocesorový systém, který nedistribuuje přerušení symetricky, můžete často zlepšit rozložení zátěže procesoru přidáním síťových adaptérů tak, aby byl nasazen jeden adaptér pro každý procesor. Obecně platí, že se adaptéry přidávají pouze v případě, že potřebujete zvýšit propustnost systému. Používání síťových adaptérů, stejně jako jakéhokoli jiného přídavného hardwaru, s sebou nese určitou režii. Pokud je však jeden z procesorů téměř vždy aktivní (to znamená, je-li hodnota čítače Procesor: % času procesoru = 100) a více než polovinu času mu zabírá obsluha DPC (pokud je hodnota čítače Procesor: % času DPC > 50), pak se přidáním adaptéru může zvýšit výkon systému (za předpokladu, že ještě není využitá celá dostupná šířka pásma sítě).

Pokud je hlavní příčinou problému aplikace, zjistíte, že jsou pravděpodobně blokována pozdržená volání procedur (DPC – Deferred Procedure Call), a to tím, že aplikace zadala volání, jehož zpracování trvá příliš dlouho. V průběhu této doby jsou pozdržená volání procedur (DPC) blokována a budou zařazována do fronty. Abyste zjistili, která aplikace je příčinou problému, je nutné spustit pokročilé monitorování výkonu, trasování a diagnostiku, které vám tuto aplikaci pomohou najít.

Element properties:

TargetMicrosoft.Windows.Server.2008.Processor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameProcessor Information
Counter Name\% DPC Time
Frequency120
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2008.R2.Processor.PercentDPCTime" Accessibility="Public" Enabled="false" Target="Server2008!Microsoft.Windows.Server.2008.Processor" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<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>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.Processor"]/PerfmonInstance$</InstanceName>
<Frequency>120</Frequency>
<Threshold>15</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>