Procentuální hodnota času DCP procesoru

Microsoft.Linux.Universal.Processor.PercentDPCTime.Monitor (UnitMonitor)

Monitorování procentuální hodnoty času DPC procesoru systému Universal Linux

Knowledge Base article:

Souhrn

Procento času DPC (na jeden procesor) je vysoké. Výkon systému může být negativně ovlivněn.

Procesorový čas DPC představuje dobu, kterou jeden procesor strávil příjmem a řešením volání odložených postupů (DPC). DPC jsou přerušení, která se spouští s nižší prioritou než standardní přerušení. % času DPC je součástí % privilegovaného času, protože DPC jsou spouštěna v privilegovaném režimu. 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.

Monitorovaná prahová hodnota je analyzována z hlediska průměru hodnot vrácených agentovi v dotazování, kde parametr počet vzorků řídí počet vzorků zahrnutých do výpočtu průměru. Hodnota vrácená agentem je souhrnný průměr 5 posledních hodnot dotazovaných v 1minutových intervalech.

Konfigurace

Monitorování jednotlivých procesorů je ve výchozím nastavení zakázáno. Monitorování lze aktivovat zapnutím funkce vyhledávání objektu nazvané „Vyhledat procesor platformy Universal Linux“.

Výchozí konfigurace

Parametr

Výchozí hodnota

Prahová hodnota

15

Interval (sekundy)

300

Počet vzorků

3

Přepsání je možné použít ke změně hodnot parametrů definovaných nahoře pro všechny instance nebo pro určité instance nebo skupiny.

Příčiny

Dlouhá doba stavu DPC může být způsobena jednou nebo více z následujících možností:

Řešení

K určení kořenové příčiny stavu dlouhé doby DPC postupujte následovně. Sledujte velikost procesorového času stráveného obsluhou přerušení a DPC. To lze provést pomocí následující metriky:

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

Pokud je % zachovaného procesorového času > 85 % a % doby přerušení nebo % doby DPC > 15 %, budou procesory pravděpodobným zdrojem nízkého výkonu. 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.

Element properties:

TargetMicrosoft.Linux.Universal.Processor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Procentuální hodnota času DPC je příliš vysoká.
Prahová hodnota pro čítač výkonu Procesor\\% času DPC\ byla překročena. Hodnota, která přesáhla prahovou hodnotu: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.Universal.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Universal!Microsoft.Linux.Universal.Processor" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType" Enabled="true" ParentMonitorID="SystemHealth!System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Linux.Universal.Processor.PercentDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_ProcessorStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Processor</ObjectName>
<CounterName>% Interrupt Time</CounterName>
<InstanceName>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</InstanceName>
<InstanceProperty>/DataItem/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='Name']</InstanceProperty>
<Value>$Data/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='PercentDPCTime']$</Value>
<Threshold>15</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>