Monitor łącznego czasu przerwań procesora (\%) w systemie SUSE Linux Enterprise Server 10
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 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.
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 10”.
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.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.PercentInterruptTime.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.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>