CPU,メモリ,ストレージ,ネットワーク等の使用率を記録する (1)基本編

Windows全般
スポンサーリンク

今回はWindows Serverのパフォーマンス情報についてです。タスクマネージャーでは、”今の”CPU使用率などを確認できます。しかし例えば「3日前の状態が見たい」場合はどうするのでしょうか。標準ツールのみで簡単に記録できる方法を紹介します。

計測結果のイメージ

パフォーマンスモニター」という標準ツールを使います。はじめに、計測した結果から見てみましょう。

こんなイメージです。CPU使用率やメモリ使用率などの推移がグラフで見れます。これらがあれば、例えば「昨日の○○時頃、システムの動きが遅かった」という問い合わせから、サーバー負荷が原因かどうかを切り分けることができるでしょう。ところでこのツール、今時にしてはあまり格好良くはないですね(Windows Server 2003くらいからあまり変わっていません)。

24時間稼働のサーバーを想定し、基本的に丸1日監視し、日ごとの計測データを確認できます。(画像はサンプルのため1時間弱のデータしかありません)

テンプレートXMLファイルの準備

標準ツールで実現できますが、一から設定するのは大変です。今回は、私が作成したテンプレートファイルを使います。下のリンクからダウンロードして下さい。zipファイルを展開し、「PerfSummary.xml」ファイルを監視対象サーバーにコピーしておきます。

設定方法

まず、スタートメニューから「パフォーマンスモニター」を起動します。下図のように選択します。

下のように指定します。名前は任意ですが、ここでは「PerfSummary」としておきます。

テンプレートは、標準のものではいまいち目的に沿わないため、「参照」ボタンから上でダウンロードしたXMLファイル(PerfSummary.xml)を指定します。

XMLファイルを指定した後は、下図の通りウィザードに従い、デフォルトのまま進めます。

このあと、下図のように「ユーザー定義」以下に、新しい項目(PerfSummary)が出来ていればOKです。

追加設定方法(Windows Server 2019)

この記事を書いている時点で、OSがWindows Server 2019以上もしくはWindows 10だと、追加の設定が必要です。具体的には、指定したスケジュール通りに測定が開始されません。不具合のような感じですので、後のアップデートで解消されるかもしれません。

スタートメニューから「タスクスケジューラ」を起動します。左のツリーから、[タスクスケジューラ ライブラリ] > [Microsoft] > [Windows] > [PLA] を開き、作成したデータコレクトセットの名前(ここでは PerfSummary)のプロパティを開きます。

「条件」タブの「カスタムハンドラー」を選択し「削除」ボタンで消します。

そして、「新規」ボタンから、次の通り入力します。

操作プログラムの開始
プログラム/スクリプトC:\windows\system32\rundll32.exe
引数の追加C:\windows\system32\pla.dll,PlaHost “PerfSummary” “$(Arg0)”
※太字の部分はデータコレクトセットの名前を指定

あとは「OK」ボタンで確定すれば完了です。

測定仕様

上の手順では、次のように測定されます。

測定スケジュール毎日 AM4:00~ 翌日 AM3:30
※3:30~4:00は測定されない
※測定中で再起動した場合はその時点まで
測定間隔1分毎
測定データ・CPU使用率
・メモリ使用率
・ストレージ IOスループット
・ネットワークトラフィック
・その他
※代表的なパフォーマンス指標
測定データの保持期間過去30日間分(それ以前の分は自動削除)
測定データのサイズ約6MB程度/日 (環境によって異なる)
30日分で概ね180MB必要
測定データの保存先C:\PerfLogs\Admin\PerfSummary
その他 (*1)・保存先ドライブ空き容量が5GB未満の場合は測定しない
・合計データが1GBを超える場合、古いものから自動削除
・1日のデータサイズが500MBを超えたら測定停止

*1… 想定データサイズは30日で約180MBだが、万が一のためにパンクしないよう講じる安全措置

測定のテスト

上記の手順の実施直後は、まだ測定は開始されていないはずですし、測定データもありません。AM4:00から自動開始され、その結果を確認できるのは、さらにその翌日3:30以降です。そこまで待って、正常に測定されていなかったら悲しいので、テストで2~3分測定してみましょう。

上の「追加設定方法」と同様に、スタートメニューから「タスクスケジューラ」を起動します。左のツリーから、[タスクスケジューラ ライブラリ] > [Microsoft] > [Windows] > [PLA] を開き、作成したデータコレクトセットの名前(ここでは PerfSummary)を右クリックして「実行する」を選択します。

パフォーマンスモニターで、下図のように「PerfSummary」のアイコンが変わって、再生マークがついていれば測定中です。ついでに「レポート」にもデータが追加されます(計測を終了するまで見れません)。測定中にならない場合は、上で説明している通りタスクスケジューラの設定を見直して下さい。

2~3分経ったら、上図のPerfSummaryを右クリックし「停止」を選択してください。測定が止まり測定結果のグラフを確認できるようになります。停止し忘れると、次のAM4:00に測定が始まらず、測定スケジュールがずれます。

測定結果の確認方法

測定された結果を確認するには、パフォーマンスモニタを起動し、ツリーの[レポート] > [ユーザー定義] > [PerfSummary](データコレクタセットの名前)から、参照した日時の項目を選択します。デフォルトではレポートが表示されるため、ツールバーのグラフのマーク(下図の赤枠参照)をクリックするとグラフが表示されます。なお、現在測定中の分は、測定が終了するか停止させるまで見れません。

ちなみに、グラフを表示したときに次のエラーが表示されることがあります。原因はわかりませんが、私は毎回出くわします。特に支障はないようなので無視します。

グラフ値はどれがどれだかわかりませんね。上部ツールバーのペンのマークを押した状態で、下から参照したい項目をクリックすると、その項目のグラフがハイライトされます。

今回は以上です。次回は、測定スケジュールを変更したり、もっと多くの測定項目を指定する方法などを紹介します。

フィードバック

コメント

タイトルとURLをコピーしました