Monitorování procentuální hodnoty času přerušení procesoru systému Universal Linux
Procento času přerušení (na jeden procesor) je vysoké. Výkon systému může být negativně ovlivněn.
Procesorový čas přerušení představuje dobu, kterou jeden procesor strávil příjmem a řešením hardwarových přerušení. Tato hodnota je nepřímým indikátorem aktivity zařízení generujících přerušení, jako jsou systémové hodiny, myš, řadiče paměťového zařízení, datové komunikační linky, karty síťových rozhraní a jiná periferní zařízení. Tato zařízení běžně přerušují procesor, když dokončí úlohu nebo vyžadují pozornost. Standardní provádění vlákna je během přerušení pozastaveno.
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 zapnutím funkce vyhledávání objektu nazvané „Vyhledat procesor platformy Universal Linux“.
Výchozí konfigurace
Parametr | Výchozí hodnota |
Prahová hodnota | 10 |
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.
Stav dlouhé doby přerušení většinou naznačuje, že dochází k problémům s hardwarovým zařízením.
Je nutné zkontrolovat soubory systémového protokolu a identifikovat chyby zařízení.
Target | Microsoft.Linux.Universal.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.Universal.Processor.PercentInterruptTime.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.PercentInterruptTime.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(.)='PercentInterruptTime']$</Value>
<Threshold>10</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>