Monitorování procenta celkového času DPC procesoru v operačním systému SUSE Linux Enterprise Server 10
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.
Monitorování jednotlivých procesorů je ve výchozím nastavení zakázáno. Monitorování lze aktivovat povolením zjišťování objektů s názvem „Zjistit procesor pro operační systéme SUSE Linux Enterprise Server 10“.
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.
Dlouhá doba stavu 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í 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:
Procesor\% procesorový čas
Procesor\% doba přerušení
Procesor\% doba DPC
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.
Target | Microsoft.Linux.SLES.10.Processor | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Linux.SLES.10.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.10.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.SLES.10.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>