logmanコマンドを使えば、コマンドプロンプトからパフォーマンスカウンタの収集を制御できる。カウンタログの作成にはlogman create、実行開始にはlogman startコマンドを利用する。カウンタログのパラメータを変更するには、logman updateコマンドを利用する。
対象:Windows XP/Windows Vista/Windows 7、Windows Server 2003/Windows Server 2008/Windows Server 2008 R2
Tech TIPS「パフォーマンスカウンタのデータをスケジュールに従って収集する」「パフォーマンスカウンタのデータをスケジュールに従って収集する」では、パフォーマンスモニタ管理ツールを使って、システムのパフォーマンスカウンタの値をスケジュールに従って収集する方法を紹介した。
しかし、これらはGUIで操作するツールであり、対象となるコンピュータやカウンタの数などが多いと、いちいちマウスなどで操作しなければならず、設定/管理が面倒である。
このような場合は、logman.exeというコマンドを使えばコマンドプロンプト上からパフォーマンスカウンタデータの収集機能を制御できる。本Tech TIPSでは、その方法について解説する。
logmanコマンドの使い方は、「logman /?」で表示される。Windows OSのバージョンごとに少しずつ機能が異なるものの、パフォーマンスカウンタの値を収集するだけなら、ほぼどれも同じである。
C:\>logman /? ……ヘルプの表示
Microsoft (R) Logman.exe (5.1.2600.5512)
(C) Microsoft Corporation. All rights reserved.
Logman は、イベント トレース セッションとパフォーマンス ログの作成および管理するための "パフォーマンス ログと警告" サービスを管理します。
使い方:
logman 動詞 <コレクション名> [オプション]
動詞:
create <counter|trace> 新しいコレクションを作成します。
start 既存のコレクションを開始して、開始時刻を手動に設定します。
stop 既存のコレクションを停止して、終了時刻を手動に設定します。
……(中略)……
例:
logman create counter perf_log -c "\Processor(_Total)\% Processor Time"
logman create trace trace_log -nb 16 256 -bs 64 -o c:\logfile
logman start perf_log
logman update perf_log -si 10 -f csv -v mmddhhmm
logman update trace_log -p "Windows Kernel Trace" (disk,net)
収集する対象となるパフォーマンスカウンタの組を定義したものを、Windows XP/Windows Server 2003のパフォーマンスモニタでは「カウンタログ」と呼んでいる。一方、Windows Vista以降のパフォーマンスモニタでは「(ユーザー定義の)データコレクタセット」と呼んでいる。以下ではすべてまとめて「カウンタログ」と呼ぶことにする。
新しいカウンタログを定義するには、上のヘルプの最後にあるように、「logman create counter <カウンタログ名> -c <カウンタセット> <オプション>」を利用する。
データの収集スケジュールを決めずに、単に収集するカウンタを指定するだけなら、次のようにすればよい。
C:\>logman create counter perf_log1 -c "\Processor(*)\% Processor Time"
コマンドは、正しく完了しました。
これは、CPU使用率に関するパフォーマンスカウンタの値を収集する例である。「perf_log1」という名前のカウンタログエントリが作成される。「"\Processor(*)\% Processor Time"」の意味については、Tech TIPS「typeperfコマンドでシステムのパフォーマンスカウンタのデータを収集する」を参照していただきたい。カウンタの指定方法はtypeperfコマンドと同じである。対象となるカウンタが多数ある場合は、テキストファイルに保存し、「-cf <カウンタ名ファイル>」で指定すればよい(これもtypeperfコマンドと同じ)。
収集するスケジュールを指定する場合は、「-b <開始日時>」や「-e <終了日時>」で指定できる。
C:\>logman create counter perf_log2 -c "\Network Interface(*)\*" -b 2009/12/14 00:00:00 -e 2009/12/15 00:00:00
コマンドは、正しく完了しました。
これは、ネットワークインターフェイスに関するパフォーマンスカウンタの値を収集する例である。
オプションを変更する場合は、「logman update <カウンタログ名> <新パラメータ>」として更新すればよい。
作成したカウンタログは、「logman query <カウンタログ名>」で内容を確認できる。
C:\>logman query ……カウンタの一覧の表示
コレクション 種類 状態
-------------------------------------------
System Overview カウンタ 停止済み ……デフォルト項目
perf_log1 カウンタ 停止済み ……perf_log1
perf_log2 カウンタ 停止済み ……perf_log2
コマンドは、正しく完了しました。
C:\>logman query perf_log2 ……詳細の確認
名前: perf_log2
種類: カウンタ
状態: 停止済み
開始: 2009/12/14 0:00:00 ……開始日時
停止: 2009/12/15 0:00:00 ……停止日時
ファイル: C:\PerfLogs\perf_log2_000001.blg ……ログファイル
実行: <既定値>
カウンタ:
\Network Interface(*)\* ……パフォーマンスカウンタ
コマンドは、正しく完了しました。
C:\>
logmanコマンドで作成したカウンタログは当然パフォーマンスモニタでも確認できるので、そちらで操作してもよい。
カウンタログを開始したり停止させるには、startやstopオプションを使う。
C:\>logman start perf_log1 ……データ収集の開始
コマンドは、正しく完了しました。
C:\>logman stop perf_log1 ……停止・終了
コマンドは、正しく完了しました。
収集したデータは指定されたフォルダ中に作成されているので、集計ツールやパフォーマンスモニタのデータソースなどで利用すればよい。グラフ表示させる方法については、Tech TIPS「収集したカウンタデータをパフォーマンスモニタで表示させる」「パフォーマンスモニタの使い方(基本編)」などを参照していただきたい。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.