Procentuální hodnota času DPC procesoru

Microsoft.Windows.Server.10.0.Processor.PercentDPCTime (UnitMonitor)

Monitoruje procentuální hodnotu času DPC.

Knowledge Base article:

Souhrn

Čítač výkonu % času DPC (Informace o procesoru\% času DPC\) tohoto procesoru 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 zobrazení nedávné historie těchto čítačů výkonu souvisejících s procesorem lze použít následující zobrazení:

Spuštění zobrazení výkonu procesoru

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:

U jednotlivých instancí procesoru porovnejte hodnotu čítačů % času přerušení a % času DPC s čítačem Informace o procesoru\% procesorového času.

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.

Element properties:

TargetMicrosoft.Windows.Server.10.0.Processor
Parent MonitorMicrosoft.Windows.Server.10.0.Processor.PerformanceRollup
CategoryPerformanceHealth
EnabledFalse
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.10.0.Processor.Monitortype
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.Processor.PercentDPCTime" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.Processor" ParentMonitorID="Microsoft.Windows.Server.10.0.Processor.PerformanceRollup" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.10.0.Processor.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<CounterName>% DPC Time</CounterName>
<ObjectName>Processor</ObjectName>
<InstanceName>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.Processor"]/PerfmonInstance$</InstanceName>
<Frequency>120</Frequency>
<Threshold>15</Threshold>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>