今回はWindows Serverのパフォーマンス情報についてです。タスクマネージャーでは、”今の”CPU使用率などを確認できます。しかし例えば「3日前の状態が見たい」場合はどうするのでしょうか。標準ツールのみで簡単に記録できる方法を紹介します。
計測結果のイメージ
「パフォーマンスモニター」という標準ツールを使います。はじめに、計測した結果から見てみましょう。
こんなイメージです。CPU使用率やメモリ使用率などの推移がグラフで見れます。これらがあれば、例えば「昨日の○○時頃、システムの動きが遅かった」という問い合わせから、サーバー負荷が原因かどうかを切り分けることができるでしょう。ところでこのツール、今時にしてはあまり格好良くはないですね(Windows Server 2003くらいからあまり変わっていません)。
24時間稼働のサーバーを想定し、基本的に丸1日監視し、日ごとの計測データを確認できます。(画像はサンプルのため1時間弱のデータしかありません)
テンプレートXMLファイルの準備
標準ツールで実現できますが、一から設定するのは大変です。今回は、筆者が作成したテンプレートファイルを使います。
下のリンクからダウンロードして下さい。zipファイルを展開し、「PerfSummary.xml」ファイルを監視対象サーバーにコピーしておきます。
設定方法
- step1パフォーマンスモニターの起動
スタートメニューから「パフォーマンスモニター」を検索して、検索結果から同アプリを起動します。
- step2データコレクトセットの新規作成
左のツリーから[データコレクトセット]>[ユーザー定義]を右クリックし、[新規作成]>[データコレクトセット]を選択します。
- step3名前と作成方法を指定
下のように指定します。名前は任意ですが、ここでは「PerfSummary」としておきます。
- step4テンプレートファイルを参照
テンプレートは、標準のものではいまいち目的に沿わないため、「参照」ボタンから上でダウンロードしたXMLファイル(PerfSummary.xml)を指定します。
- step5ウィザードの通り進める
XMLファイルを指定した後は、下図の通りウィザードに従い、デフォルトのまま進めます。最後に「完了」ボタンを押してウィザードを終了します。
- step6確認
このあと、下図のように「ユーザー定義」以下に、新しい項目(PerfSummary)が出来ていればOKです。
追加設定(一部のOSのみ)
2022年2月時点において、OSがWindows Server 2019の場合、追加の設定が必要です。そうでないと、パフォーマンスモニターで指定したスケジュール通りに測定開始されません。
不具合のような感じですので、後のアップデートで解消されるかもしれません。なお、2022年2月時点の更新プログラムで確認した限りでは、Windows Server 2022 および Windows 11 / 10※ はこの問題が起きないため設定不要です。
※Windows 10は、2021年4月時点ではこの問題が発生していましたが、現在は解消されたようです。
- step1タスクスケジューラの起動
スタートメニューから「タスクスケジューラ」を起動します(起動方法)。
- step2項目[PLA]のプロパティを開く
左のツリーから、[タスクスケジューラ ライブラリ] > [Microsoft] > [Windows] > [PLA] を開き、作成したデータコレクトセットの名前(ここでは PerfSummary)のプロパティを開きます。
- step3カスタムハンドラーの削除
「条件」タブの「カスタムハンドラー」を選択し「削除」ボタンで消します。
- step4操作の新規追加
そして、「新規」ボタンから、次の通り入力します。
操作 プログラムの開始 プログラム/スクリプト C:\windows\system32\rundll32.exe 引数の追加 C:\windows\system32\pla.dll,PlaHost “PerfSummary” “$(Arg0)” ※太字の部分はデータコレクトセットの名前を指定 - step5設定の確定
「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](データコレクタセットの名前)から、参照した日時の項目を選択します。デフォルトではレポートが表示されるため、ツールバーのグラフのマーク(下図の赤枠参照)をクリックするとグラフが表示されます。なお、現在測定中の分は、測定が終了するか停止させるまで見れません。
ちなみに、グラフを表示したときに次のエラーが表示されることがあります。原因はわかりませんが、私は毎回出くわします。特に支障はないようなので無視します。
グラフ値はどれがどれだかわかりませんね。上部ツールバーのペンのマークを押した状態で、下から参照したい項目をクリックすると、その項目のグラフがハイライトされます。
測定項目の説明・測定条件の変更方法
測定スケジュールを変更したり、もっと多くの測定項目を指定する方法などについては、下の記事にまとめています。
おわりに
今回の記事は以上です。
当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。
また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナー」もおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。
最後まで読んでいただき、ありがとうございました。
フィードバック
あなたが抱えている疑問や悩みは解決できたでしょうか?当ブログではそれを最重視しています。今後もあなたの役に立つ情報を提供するために、ぜひ教えて下さい。
コメント
質問があります。
多数のPC(win10)バージョン不明でパフォーマンスカウンターを設定する場合は、追加設定のカスタムハンドラーの削除追加の要不要は、どのよう判断すれば良いですか?
もしくは、最初から全て(2021年4月以降も)のPCに追加設定のカスタムハンドラーの削除追加作業を行って問題ないのでしょうか?
フィードバックありがとうございます! ご質問の通り、設定要否が分かりにくかったため、記事本文に追記いたしました。
ご回答としまして、先に「測定のテスト」を実施してみて、記載の通りに動作すれば追加設定不要です。
一応、無条件に追加設定のカスタムハンドラーの削除追加作業を行っても問題ないかとは思いますが、前述のテストでNGの場合のみにしたほうが無難かと思います。
他にもご不明点等ありましたら、教えていただけると助かります。