パフォーマンスカウンタのデータ収集を「logman」コマンドで制御する【Windows OS】Tech TIPS

logmanコマンドを使えば、コマンドプロンプトからパフォーマンスカウンタの収集を制御できる。カウンタログの作成にはlogman create、実行開始にはlogman startコマンドを利用する。カウンタログのパラメータを変更するには、logman updateコマンドを利用する。

» 2009年12月11日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

パフォーマンスカウンタのデータ収集を「logman」コマンドで制御する【Windows OS】

対象:Windows XP/Windows Vista/Windows 7、Windows Server 2003/Windows Server 2008/Windows Server 2008 R2


GUIでパフォーマンスカウンタデータを収集するのは面倒!

 Tech TIPS「パフォーマンスカウンタのデータをスケジュールに従って収集する」「パフォーマンスカウンタのデータをスケジュールに従って収集する」では、パフォーマンスモニタ管理ツールを使って、システムのパフォーマンスカウンタの値をスケジュールに従って収集する方法を紹介した。

 しかし、これらはGUIで操作するツールであり、対象となるコンピュータやカウンタの数などが多いと、いちいちマウスなどで操作しなければならず、設定/管理が面倒である。

 このような場合は、logman.exeというコマンドを使えばコマンドプロンプト上からパフォーマンスカウンタデータの収集機能を制御できる。本Tech TIPSでは、その方法について解説する。

logman.exeコマンドの基本的な使い方

 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 Professional SP3のlogman

カウンタログ/データコレクタの作成

 収集する対象となるパフォーマンスカウンタの組を定義したものを、Windows XP/Windows Server 2003のパフォーマンスモニタでは「カウンタログ」と呼んでいる。一方、Windows Vista以降のパフォーマンスモニタでは「(ユーザー定義の)データコレクタセット」と呼んでいる。以下ではすべてまとめて「カウンタログ」と呼ぶことにする。

 新しいカウンタログを定義するには、上のヘルプの最後にあるように、「logman create counter <カウンタログ名> -c <カウンタセット> <オプション>」を利用する。

 データの収集スケジュールを決めずに、単に収集するカウンタを指定するだけなら、次のようにすればよい。

C:\>logman create counter perf_log1 -c "\Processor(*)\% Processor Time"
コマンドは、正しく完了しました。

例:CPU使用率カウンタの収集

 これは、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「収集したカウンタデータをパフォーマンスモニタで表示させる」「パフォーマンスモニタの使い方(基本編)」などを参照していただきたい。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。