2.2.1 プロセッサの監視例
プロセスを監視することで,システム全体のパフォーマンスの傾向を把握できます。
Windowsのプロセスは,ユーザーモードとカーネルモードという,2種類のプロセッサアクセスモードで成り立っています。Windowsのアーキテクチャーの概要を次の図に示します。
UNIXのプロセスは,カーネルによる動作と,ユーザーのプロセスによる動作とで成り立っています。UNIXのカーネルとプロセスの関係について,次の図に示します。
(1) プロセッサ監視の概要
プロセスなどのジョブは,OSでスケジューリングされ,CPUに割り当てられることで実行されます。また,CPUの割り当てを待つジョブの数を示すキュー数は,システム全体の負荷の大きさに,比例する傾向にあります。このため,一般的に,プロセッサの使用状況は,CPU使用率やキュー数を監視することで把握できます。
PFM - RM for Platformでプロセッサを監視するためのレコードとフィールドについて,次の表に示します。
項番 |
使用する レコード |
使用する フィールド |
値の説明 |
値の見方 |
---|---|---|---|---|
1 |
PI |
Processor Queue Length |
キューの要求数です。 |
継続してしきい値を超えている場合,プロセッサが混雑していると考えられます。 |
2 |
Run Queue Avg 5 min |
実行キュー内で待機中のスレッド数の平均です。 |
この値が高い場合,プロセッサの利用効率に問題があると考えられます。 |
|
3 |
CPU % |
CPU使用率です。 |
継続してしきい値を超えている場合,プロセッサがシステムのボトルネックになっていると考えられます。 |
|
4 |
System % |
カーネルモードで実行したCPU使用率です。 |
この値が高い場合で,継続してPIレコードのCPU %フィールドがしきい値を超えているときは,サービスを含んだ特定のアプリケーションプロセスやシステムプロセスに問題があると考えられます。 |
|
5 |
User % |
ユーザーモードで実行したCPU使用率です。 |
この値が高い場合で,継続してPIレコードのCPU %フィールドがしきい値を超えているときは,サービスを含んだ特定のアプリケーションプロセスに問題があると考えられます。 |
|
6 |
Idle % |
CPUの未使用率です。 |
この値が高い場合,CPUに負荷が掛かっていない状態だと考えられます。 |
|
7 |
Interrupt Counts/sec |
ハードウェアの割り込みの処理数(1秒当たり)です。 |
システムがあまり稼働していない状態で,このフィールドが大幅に増加している場合,プロセッサに負荷を掛ける低速なデバイスが存在するなど,ハードウェアの割り込みによる問題が発生していると考えられます。 |
|
8 |
PI_CPU※ |
CPU % |
各プロセッサのCPU使用率です。 |
継続してしきい値を超えている場合,プロセッサがシステムのボトルネックになっていると考えられます。 |
9 |
System % |
カーネルモードで実行した各プロセッサのCPU使用率です。 |
この値が高い場合で,継続してPI_CPUレコードのCPU %フィールドがしきい値を超えている場合,サービスを含んだ特定のアプリケーションプロセスやシステムプロセスに問題があると考えられます。 |
|
10 |
User % |
ユーザーモードで実行した各プロセッサのCPU使用率です。 |
この値が高い場合で,継続してPIレコードのCPU %フィールドがしきい値を超えている場合,サービスを含んだ特定のアプリケーションプロセスに問題があると考えられます。 |
|
11 |
Interrupt Counts/sec |
各プロセッサでのハードウェアの割り込みの処理数(1秒当たり)です。 |
システムがあまり稼働していない状態で,このフィールドが大幅に増加している場合,プロセッサに負荷を掛ける低速なデバイスが存在するなど,ハードウェアの割り込みによる問題が発生していると考えられます。 |
なお,マルチプロセッサ環境の場合,全CPUの使用率の平均値が,システムのCPU使用率として扱われます。このため,正確なCPU使用率は,CPUごとに確認してください。また,ボトルネックの原因となっているプロセスを特定するには,プロセスごとにCPU使用率を確認してください。
プロセスごとにCPU使用率を確認するには,PFM - Agent for Platformを使用する必要があります。プロセスの監視方法の詳細については,Windowsの場合は,マニュアル「JP1/Performance Management - Agent Option for Platform(Windows(R)用)」を,UNIXの場合は,マニュアル「JP1/Performance Management - Agent Option for Platform(UNIX(R)用)」を参照してください。
(2) プロセッサ監視に関する監視テンプレートの使用例
プロセッサ監視に関する監視テンプレートとして,提供しているアラームとレポートの使用例について説明します。
PFM - RM for Platformでは,CPU UsageアラームやCPU Used Status (Multi-Agent)レポートなどを提供しています。プロセッサのパフォーマンスをさらに詳細に監視するには,さまざまな観点からプロセッサを監視する必要があります。
(a) アラーム
プロセッサに関するアラームについて次の表に示します。
項番 |
アラーム |
使用する レコード |
使用する フィールド |
異常 条件 |
警告 条件 |
値の見方 |
---|---|---|---|---|---|---|
1 |
CPU Usage |
PI |
CPU % |
>= 90 |
>= 80 |
プロセッサの使用率が80%以上の場合,警告または異常状態にあると判断します。 警告または異常条件で設定されているしきい値を超えた場合,プロセッサがシステムのボトルネックになっていると考えられます。 プロセッサを過度に使用しているプロセスを発見した場合,プロセスの状況を確認し,対策する必要があります。過度に使用しているプロセスが特にない場合は,プロセッサのアップグレードまたは追加を検討するなどの対策が必要です。 |
2 |
Kernel CPU |
PI |
System % |
> 75 |
> 50 |
カーネルモードで実行したCPU使用率が50%を超えた場合,警告または異常状態にあると判断します。警告または異常条件で設定されているしきい値を超えた場合,OSやシステムの運用方法に問題があると考えられます。 短期間に大量のプロセスが生成したり消滅したりするなどして,カーネルのスケジューリング処理が追いつかないような運用になっていないか,過度にプロセッサを使用しているプロセスがないかどうかを確認し,対策する必要があります。 プロセスが特にない場合は,プロセッサのアップグレードまたは追加を検討するなどの対策が必要です。 |
3 |
Processor Queue |
PI |
Processor Queue Length |
>= 10 |
>= 2 |
連続したキューの要求数が2個以上の場合,警告または異常状態にあると判断します。 警告または異常条件で設定されているしきい値を超えた場合,プロセッサがシステムのボトルネックになっていると考えられます。 プロセッサを過度に使用しているプロセスを発見した場合,プロセスの状況を確認し,対策する必要があります。過度に使用しているプロセスが特にない場合は,プロセッサのアップグレードまたは追加を検討するなどの対策が必要です。 |
4 |
Run Queue |
PI |
Run Queue Avg 5 min |
> 8 |
> 4 |
実行キュー内で待っていたスレッド数の平均値が4個を超えた場合,警告または異常状態にあると判断します。 警告または異常条件で設定されているしきい値を超えた場合,OSやシステムの運用方法または特定のアプリケーションに問題があると考えられます。 短期間に大量のプロセスが生成したり消滅したりするなどして,カーネルのスケジューリング処理が追いつかないような運用になっていないか,過度にプロセッサを使用しているプロセスがないかどうかを確認し,対策する必要があります。 プロセスが特にない場合は,プロセッサのアップグレードまたは追加を検討するなどの対策が必要です。 |
5 |
User CPU |
PI |
User % |
> 85 |
> 65 |
ユーザーモードで実行したCPU使用率が65%を超えた場合,警告または異常状態にあると判断します。 警告または異常条件で設定されているしきい値を超えた場合,特定のアプリケーションに問題があると考えられます。 短期間に大量のプロセスが生成したり消滅したりするなどして,カーネルのスケジューリング処理が追いつかないような運用になっていないか,過度にプロセッサを使用しているプロセスがないかどうかを確認し,対策する必要があります。 プロセスが特にない場合は,プロセッサのアップグレードまたは追加を検討するなどの対策が必要です。 |
(b) レポート
プロセッサに関するレポートについて次の表に示します。
項番 |
レポート名 |
レポートの表示内容 |
---|---|---|
1 |
CPU Used Status (Multi-Agent) |
複数のシステムでのCPU使用状況を表示します。 |
2 |
CPU Used Status |
システムのCPU使用状況を表示します。 |
3 |
CPU Per Processor Status |
プロセッサごとのプロセッサ使用率を表示します。 |