Monitor łącznego czasu przerwań procesora (\%) w systemie SUSE Linux Enterprise Server 12
Wartość procentowa czasu przerwań (dla pojedynczego procesora) jest wysoka. Może to mieć niekorzystny wpływ na wydajność systemu.
Czas przerwań procesora to czas, jaki pojedynczy procesor poświęca na otrzymywanie i obsługę przerwań sprzętowych. Wartość ta stanowi pośredni wskaźnik aktywności urządzeń generujących przerwania, takich jak zegar systemowy, mysz, kontrolery pamięci masowej, linie komunikacji danych, karty sieciowe i inne urządzenia peryferyjne. Urządzenia te zwykle wysyłają przerwania do procesora po ukończeniu zadania, lub gdy wymagają wykonania działania. Na czas przerwania normalne wykonywanie wątków jest zawieszane.
Próg monitora jest analizowany w odniesieniu do średnich wartości zwracanych w sondach do agenta, gdzie parametr Liczba próbek określa liczbę próbek uwzględnionych podczas obliczania średniej. Wartość zwracana przez agenta jest średnią kroczącą 5 ostatnich wartości zwróconych w wyniku zapytania w 1-minutowych interwałach.
Monitorowanie pojedynczych procesorów jest domyślnie wyłączone. Aby włączyć monitorowanie, należy włączyć wykrywanie obiektów o nazwie „Odnajdywanie procesorów w systemie SUSE Linux Enterprise Server 12”.
Konfiguracja domyślna
Parametr | Wartość domyślna |
Próg | 10 |
Interwał (w sekundach) | 300 |
Liczba próbek | 3 |
W celu zmiany wartości parametrów zdefiniowanych powyżej dla wszystkich lub określonych wystąpień bądź grup można zastosować zastąpienia.
Wysoka wartość warunku Czas przerwań najczęściej wskazuje na problem z urządzeniem sprzętowym.
Należy sprawdzić pliki dziennika systemu pod kątem błędów urządzeń.
Target | Microsoft.Linux.SLES.12.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.12.Processor.PercentInterruptTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.12.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.12.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>