プロセッサのパフォーマンス情報を監視すれば,システム全体のパフォーマンスの傾向を把握できます。
Windowsでは,次の図に示すように,ユーザーモードとカーネルモードという,2種類のプロセッサアクセスモードでプロセスを実行しています。Windowsのアーキテクチャー概要図を次に示します。
図3-1 Windowsのアーキテクチャー概要図
さらに,キュー数で監視する方法が考えられます。
プロセスなどのジョブは,OSによってスケジューリングされCPUを割り当てられて実行されます。キュー数は,CPUの割り当てられるのを待っているジョブの数です。このため,システム全体の負荷が高くなると,キュー数が増大する傾向にあります。
監視テンプレートでは,CPU Usageアラームや,CPU Status(Multi-Agent)レポートなどを提供しています。
監視テンプレートで用意されているプロセッサのパフォーマンスをさらに詳細に監視するには,プロセッサごとのプロセッサ使用率,プロセスごとのプロセッサ使用率,プロセッサのキュー数,およびハードウェアからのプロセッサ割り込みなどを監視する方法が考えられます。
関連するレコードとフィールドを次の表に示します。
表3-1 プロセッサに関連する主なフィールド
使用レコード | 使用フィールド | 値の見方(例) |
---|---|---|
PI_PCSR | CPU % | 各プロセッサのCPU使用率。継続してしきい値(通常85%を目安とする)以上の値の場合,プロセッサがシステムのボトルネックになっているおそれがある。※ |
Interrupts/sec | プロセッサごとの1秒当たりのハードウェア割り込みを処理した数。PIレコードのTotal Interrupts/secフィールドをプロセッサごとに監視する場合に使用する。 | |
Privileged CPU % | ワークグループが特権モードでプロセッサを使用した経過時間の割合(%)。PI_PCSRレコードCPU %フィールドが継続してしきい値以上の場合,特定のアプリケーションプロセス(サービス含む)またはシステムプロセス(サービス含む)に問題があるおそれがある。※ | |
User CPU % | ユーザーモードで実行した各プロセッサのCPU使用率。 PI_PCSRレコードCPU %フィールドが継続してしきい値以上の場合,特定のアプリケーションプロセス(サービス含む)に問題があるおそれがある。※ | |
PI_SVRQ | Queue Length | CPUのサーバ作業キューの現在の長さ。継続してしきい値(2)以上の値の場合,プロセッサの混雑を示す。 |
PI | Processor Queue Length | プロセッサのキューにある実行準備ができているスレッドの数。継続してしきい値(2)以上の値の場合,プロセッサの混雑を示す。 |
CPU % | プロセッサの使用率(%)。プロセッサが非アイドル状態のスレッドを実行した経過時間の割合。マルチプロセッサ環境に関わらず最大値は「100」で表示される。 | |
Privileged CPU % | カーネルモードで実行したCPU使用率。PIレコードCPU %フィールドが継続してしきい値以上の場合,特定のアプリケーションプロセス(サービス含む)またはシステムプロセス(サービス含む)に問題があるおそれがある。 | |
User CPU % | ユーザーモードで実行したのCPU使用率。PIレコードCPU %フィールドが継続してしきい値以上の場合,特定のアプリケーションプロセス(サービス含む)に問題があるおそれがある。 | |
Total Interrupts/sec | 1秒当たりのハードウェア割り込みを処理した数。システムの活動状況がない状態で,このフィールドが大幅に増加している場合,ハードウェア割り込みでプロセッサに負荷を掛ける低速なデバイスが存在するなどのハードウェアの問題を示すおそれがある。 |
マルチプロセッサ環境の場合,システムのCPU使用率は全CPUの使用率の平均値で表されます。このため,CPUごとのCPU使用率を確認してください。
また,ボトルネックの原因になっているプロセスを特定するには,プロセスごとのCPU使用率を確認してください。
関連するレコードとフィールドを次の表に示します。
表3-2 プロセッサに関連する主なフィールド(マルチプロセッサ環境)
使用レコード | 使用フィールド | 値の見方(例) |
---|---|---|
PD_PDI | CPU % | 各プロセスのCPU使用率。継続してしきい値以上の値の場合,プロセスがプロセッサのボトルネックになっているおそれがある。※ |
Privileged CPU % | ワークグループが特権モードでプロセッサを使用した経過時間の割合(%)。CPU %フィールドが継続してしきい値以上の値で,さらにPrivileged CPU %がCPU %フィールドに近い値の場合,プロセスが発行しているAPIがプロセッサのボトルネックになっているおそれがある。※ | |
User CPU % | ユーザーモードで実行した各プロセスのCPU使用率。CPU %フィールドが継続してしきい値以上の値で,さらにUser CPU %がCPU %フィールドに近い値の場合,プロセスの処理がプロセッサのボトルネックになっているおそれがある。※ |
・プロセッサ使用率を監視したい
プロセッサ使用率は,監視テンプレートで提供しているCPU Usageアラームを使用することで,システム全体のプロセッサ使用率を監視できます。
プロセッサの使用率(PIレコードCPU %フィールド)は,プロセッサの負荷状況を監視できます。詳細については,「3.2.1(1) 監視テンプレート」を参照してください。
・プロセッサの混雑を監視したい
プロセッサの混雑(キュー数)を監視することで,プロセッサ使用率と同様,プロセッサの負荷状況を監視できます。
プロセッサの混雑は,プロセッサ使用率とあわせて監視すると効果的です。
プロセッサ使用率とキューの長さ(PI_SVRQレコードのQueue Lengthフィールド)がしきい値以上の値を表示している場合,プロセッサが混雑していると考えられます。
また,キューにあるスレッドの数(PIレコードのProcessor Queue Lengthフィールド)は2程度がしきい値となります。この値が10以上の値を表示している場合,システムの限界を超えているおそれがあります。プロセッサをアップグレードするか,プロセッサを追加するなどの対策の目安となります。
定義例については,「3.2.1(2) 監視テンプレート以外の定義例」を参照してください。
・プロセッサ使用率が高いプロセスを確認したい
プロセッサ使用率とプロセッサの混雑を監視して,ボトルネックになっているおそれがあると判断した場合,過度にプロセッサを使用しているプロセス(PD_PDIレコードCPU %フィールド)を,リアルタイムレポートで見つけます。
プロセスに問題がない場合,限界を超えるシステム環境のため,プロセッサをアップグレードするか,プロセッサを追加するなどの目安となります。
定義例については,「3.2.1(2) 監視テンプレート以外の定義例」を参照してください。