SUSE Linux Enterprise Server 9-Monitor "Prozessorzeit (\%)"
Dieser Monitor überprüft den Wert für "Prozessorzeit (%)" für jeden Prozessor. Wenn Sie eine Warnung von diesem Monitor erhalten, müssen Sie ggf. eingreifen, um das System wieder in einen Betriebsstatus zu versetzen.
"Prozessorzeit (%)" ist die prozentuale Angabe der Zeit, die der Prozessor während des Abtastintervalls ausgelastet war.
Hohe Werte für die Prozessorzeit können unter folgenden Umständen auftreten:
Neue Prozesse werden gestartet.
Prozesse werden während des Wartens auf E/A blockiert.
Auf dem System werden zu viele Prozesse ausgeführt.
Ein geringer Arbeitsspeicher bewirkt eine übermäßig häufige Erstellung von Auslagerungsdateien und einen hohen E/A.
Zur Behebung hoher prozentualer Prozessorzeiten wählen Sie eine oder mehrere der folgenden Optionen:
Stellen Sie fest, welche Prozesse ausgeführt werden, wenn "Prozessorzeit (%)" am höchsten ist. Führen Sie den Befehl "top" oder den Task "Top 10 CPU-Prozesse" in der Statusansicht aus. Daraufhin wird eine nach CPU-Auslastung sortierte Liste der Prozesse angezeigt. In der Standardeinstellung zeigt die Liste nur die Prozesse an, die die CPU am stärksten auslasten sowie deren entsprechende PID (Prozess-ID) an.
Beenden Sie alle unnötigen Prozesse bzw. brechen Sie sie ab. Ermitteln Sie anhand der Ergebnisse des Befehls "top" alle problematischen oder nicht benötigten Prozesse einschließlich zugehöriger PID-Nummern. Kombinieren Sie den Befehl "kill" mit der PID des Prozesses, und geben Sie ihn aus. Wenn die PID-Nummer für den Prozess beispielsweise 4510 lautet, geben Sie den Befehl "kill 4510" aus.
Fügen Sie weitere CPUs hinzu, oder erweitern Sie den physikalischen Arbeitsspeicher des Computers.
Verschieben von Anwendungen auf einen oder mehrere zusätzliche Server
Sie können die größten CPU-Konsumenten anzeigen, indem Sie in der Statusansicht die Aufgabe "Top 10 CPU-Prozesse" ausführen.
Target | Microsoft.Linux.SLES.9.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.9.Processor.PercentProcessorTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.9.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.9.Processor.PercentProcessorTime.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>% Processor Time</CounterName>
<InstanceName>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</InstanceName>
<InstanceProperty>//*[local-name()="Name"]</InstanceProperty>
<Value>$Data///*[local-name()="PercentProcessorTime"]$</Value>
<Threshold>95</Threshold>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>