JP1サポート技術者ブログ

パフォーマンス管理

【JP1/PFM】CPU利用率が高騰!何のプロセスがCPUを使っている?

公開日:
更新日:
パフォーマンス管理
#PFM
#障害対応
#運用

「サーバ監視」を行う中で、監視項目に「CPU利用率を監視するというケースはとても多いのではないでしょうか。ただ、特定の時間にCPU使用率が高騰してアラートを受けても、結局何が原因でCPU使用率が高くなったのか特定できないといった例も、多くあるのも事実だと思います。

何らかのプロセスが原因なのだけど、一体何のプロセスが原因なのかわからず、問題解決が出来ないまま一時的な問題として置いておかれてしまったりはしていないでしょうか?

そこで、サポートセンターにも実は問い合わせが多い、「JP1/PFMによるプロセス毎のCPU使用率レポート方法」をご紹介します。さらに、全体の「CPU使用率」のレポートから簡単に「CPU高騰の原因となっているプロセスの特定方法」も合わせてご説明します。

プロセス毎のCPU使用率レポート方法

1.プロセス毎のCPU使用率のデータを「蓄積」する

プロセス毎のCPU使用率を取得するレコードは「PD_PDI」になります。
「PD_PDI」レコードを定期的なレポートとして表示するには、データを蓄積する必要があります。

「PD_PDI」のデータを蓄積する設定はデフォルトでは無効になっているのでご注意ください。まずは、「PD_PDI」レコードのデータを蓄積する設定にする方法を説明します。

サービス階層の設定画面から「PDI」レコードのログを蓄積するように、下記の画面の値を'Yes'に変更してください(デフォルトは'No'です)。

「PD_PDI」レコードの詳細

「PD_PDI」レコードには、プロセス毎のページング、メモリー、および時間の使用状況などについての、ある時点での状態を示すパフォーマンスデータが格納されます。
詳細は、以下のマニュアルをご確認ください。

JP1 Version 11 JP1/Performance Management - Agent Option for Platform(Windows(R)用)
8. レコード 「Process Detail Interval(PD_PDI)」
https://itpfdoc.hitachi.co.jp/manuals/3021/30213A5120/PCAT0258.HTM

2.プロセス毎のCPU使用率を「表示」する

「CPUを25%以上使用しているプロセス」のレポートを作成します。
レポート階層にて、新規で以下設定値のレポートを作成してください。

レポート名: CPUを25%以上使用しているプロセス

フィールド

レコード

Process Detail Interval(PD_PDI)

フィールド

CPU%

Program

フィルター

条件式

(CPU% > "25.000
AND Program <> "Idle"
AND Program <> "_Total")

表示設定(履歴レポート)

対象期間

レポートの表示時に指定

レポート間隔

表示形式

表/一覧/グラフ

すべてにチェック

グラフのプロパティ

グラフの種類

折れ線

ドリルダウン

-

-

CPU高騰の原因となっているプロセスの特定方法

作成した「CPU使用率」のレポートから使用率の高いデータを確認して、そのデータの中で、どのプロセスが25%以上のCPUを利用しているか確認できるようにします。
ここでは、ドリルダウン機能(※)を利用して、「CPU使用率」の関連レポートとして、「プロセス毎のCPU使用率」を設定します。
※ドリルダウン機能とは、レポートに、別のレポートを関連付ける機能のことです。

この設定により、例えば「CPU使用率」が90%の値を取得したときに、ドリルダウンで「プロセス毎のCPU使用率」を表示することで、簡単にどのプロセスが原因でCPU使用率が高くなっていたか確認ができます。

レポート階層にて、新規で以下内容のレポートを作成してください。

レポート名: CPU使用率

フィールド

レコード

System Overview(PI)

フィールド

CPU%

フィルター

条件式

-

表示設定(履歴レポート)

対象期間

レポートの表示時に指定

レポート間隔

表示形式

表/一覧/グラフ

すべてにチェック

グラフのプロパティ

グラフの種類

折れ線

ドリルダウン

フィールドの
ドリルダウン

CPU%に[プロセス毎のCPU使用率]の
レポートをバインド

エージェント階層から、監視対象のサーバを選択し、作成した上記「CPU使用率」レポートを選択して、CPU使用率が高くなっている時間帯の「開始日時」と「終了日時」を入力し、レポートを表示してください。

高くなっている箇所を画面下にある「表」にて確認するとCPU使用率が上がっている箇所があります。
この表示されている値を選択すると、25%以上のCPUを利用しているプロセスのレポートが表示されます。

※本環境では4コアのCPUがあるため、プロセスにより99%利用されている3コア分のCPU利用率が表示されています。

まとめ

CPU利用率は単に異常値を監視し障害対応に利用するだけでなく、監視データを蓄積することによりプロセス毎のCPU使用率が取得できるようになるため、どのプロセスが原因でCPU使用率が高くなっているか確認できるようになります。もし常に特定の業務アプリケーションのCPU利用率が高い・・・ということを発見すれば、開発部門と課題を連携して、業務改善にもつなげることが出来ます。具体的な設定でお悩みだった皆さま、ぜひご活用ください。

【補足】JP1/PFMの構成

製品構成について案内します。「プロセス毎のCPU使用率」を確認したいサーバに、以下の製品がインストールされている必要があります。

  • JP1/PFM-Base

  • JP1/PFM-Agent Option for Platform(Windows)または(UNIX)

※別途、別のサーバに「JP1/PFM-Manager」がインストールされている必要があります。

製品正式名称/略称表記 および機能対応バージョン

JP1/Performance Management - Agent Option for Platform/JP1/PFM-AOP Version7.0以降
JP1/Performance Management - Base/JP1/PFM-Base Version7.0以降

JP1ブログをご覧いただいているみなさまへご案内

いつもJP1サポート技術者ブログをご覧いただきありがとうございます。

本ブログの執筆を担当しているアシストJP1サポートセンターは、「JP1認定技術者」の資格を持つサポート技術者の対応が支持され、お客様満足度は10年連続90%以上を維持しています。

紹介サイトでは、サポートセンターが誇る3つの特徴とJP1の最新情報満載の提供サービスを、お客様の声とともにご紹介しています。是非ご覧ください。


また、アシストとJP1保守契約を締結されている方は、Webサポートセンター「AWSC-2」をご利用いただけます。本ブログサイトではご紹介しきれない2,000件以上のFAQを公開していますので、是非ご利用ください。詳細は、下記リンクよりご確認ください。

ページトップへ戻る


この記事をシェアする

この記事を書いたスタッフ

著者の顔写真

本田 祐次

本田 祐次