Monitor łącznego czasu przerwań (\%) w systemie SUSE Linux Enterprise Server 11
Łączna wartość procentowa czasu przerwań (dla wszystkich procesorów) jest wysoka. Może to mieć niekorzystny wpływ na wydajność systemu.
Łączny czas przerwań to czas, jaki wszystkie procesory poświęcają 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 urządzeń magazynujących, 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 kwerendy w 1-minutowych interwałach.
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ć przesłonięcia.
Wysoka wartość licznika Czas przerwań najczęściej wskazuje na problem z urządzeniem sprzętowym.
Należy sprawdzić pliki dziennika systemowego pod kątem błędów urządzeń.
Target | Microsoft.Linux.SLES.11.OperatingSystem | ||
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.11.OperatingSystem.TotalPercentInterruptTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.11.OperatingSystem" 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.11.OperatingSystem.TotalPercentInterruptTime.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>_Total</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>