SUSE Linux Enterprise Server 9 プロセッサ時間の割合モニタ
このモニタは、各プロセスについて、プロセッサ時間の割合を確認します。このモニタからアラートを受け取った場合は、システムを動作状態に戻すために操作が必要になることがあります。
"プロセッサ時間の割合" とは、サンプル間隔の間にプロセッサがビジー状態であった時間の割合です。
プロセッサ時間の値が高くなる可能性があるのは、次の状況です。
新しいプロセスが開始された。
I/O を待機中にプロセスがブロックされた。
システム上で実行されているプロセスの数が多すぎる。
メモリ不足のため、過剰なスワッピングと高い I/O が発生している。
プロセッサ時間の割合が高くなった場合は、次の 1 つまたは複数のオプションを選択できます。
プロセッサ時間の割合が最も高いときに実行されているプロセスを特定する。top コマンドを実行するか、[状態の表示] から [上位 10 個の CPU プロセス] タスクを実行します。これにより、CPU 使用率の順序でプロセスが一覧表示されます。既定では、CPU 消費の高いプロセスと、それらに対応する PID (Process ID) だけがこの一覧に表示されます。
識別された不要なプロセスを停止するか強制終了する。top コマンドの出力を使用して、不適切なプロセスや不要なプロセス、およびそれらの PID 番号を識別します。プロセスの PID を使用して、kill コマンドを実行します。たとえば、プロセスの PID 番号が 4510 である場合は、kill 4510 コマンドを実行します。
コンピュータに CPU または物理メモリを追加する。
アプリケーションを 1 つまた複数の別のサーバーに移動する。
[状態の表示] から [上位 10 個の CPU プロセス] を実行して、上位の CPU 消費元を表示できます。
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>