連載
» 2016年09月16日 05時00分 UPDATE

Windows PowerShell基本Tips(8):【 Get-Counter 】コマンドレット――システムのパフォーマンスを計測する

本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「Get-Counter」コマンドレットです。

[新井慎太朗,株式会社ソフィアネットワーク]
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、システムのパフォーマンス計測で役に立つ「Get-Counter」コマンドレットです。

Get-Counterコマンドレットとは?

 「Get-Counter」は、Windowsシステムのパフォーマンスに関する計測情報を取得するためのコマンドレットです。また、システムのパフォーマンスはGUI管理ツールである「パフォーマンスモニター」でも計測できます。

 Get-Counterコマンドレットは、例えば、指定したサンプル間隔でシステムのパフォーマンスを計測したり、他のスクリプト実行が与えるパフォーマンスへの影響を計測したりする際に活用できます。


Get-Counterコマンドレットの書式

Get-Counter [カウンター] [オプション]

※[ ]は省略可能な引数を示しています



Get-Counterコマンドレットの主なオプション

 Get-Counterコマンドレットの主なオプションは次の通りです。

オプション 意味
-Counter 計測するカウンターを指定する。省略可能
-ListSet カウンターセットの情報を取得する
-Continuous [Ctrl]+[C]キーが押されるまで継続的に取得する
-MaxSamples 取得するサンプルデータの数を指定する
-SampleInterval 計測間隔を秒単位で指定する


システムのパフォーマンスを計測する

 最も単純なパフォーマンス計測は、オプションを何も指定せずに「Get-Counter」だけを実行する方法です。このコマンドレットの実行結果では、システムパフォーマンスの概要情報として「ネットワーク」「プロセッサ」「メモリ」「ディスク」に関する既定で登録されたカウンターの計測結果を取得できます。

 以下の実行例では、既定で登録されたカウンターの計測結果を取得しています(画面1)。

コマンドレット実行例

Get-Counter

(既定で登録されたパフォーマンスカウンターの計測結果を取得する)


画面1 画面1 「Get-Counter」だけを実行すると、「ネットワーク」「プロセッサ」「メモリ」「ディスク」の既定で登録されたカウンターの計測結果を取得する

 特定のカウンターを計測するには、計測対象の「カウンター名」を調べる必要があります。カウンターは「カウンターセット」と呼ばれるグループで管理されており、「\<カウンターセット名>\<カウンター名>」の形式で指定します。

 カウンターセットや、カウンターセットに含まれるカウンターを確認するには、「-ListSet」オプションを使用します。または、「パフォーマンスモニター」からも確認することができます。

 以下の実行例では、「Processor」という文字列から始まるカウンターセットの情報を取得しています(画面2)。

コマンドレット実行例

Get-Counter -ListSet Processor*

(「Processor」で始まるカウンターセットの情報を取得する)


画面2 画面2 「-ListSet」オプションを使用して、「Processor」から始まるカウンターセットの情報を取得する

 カウンター名を調べた上で「Get-Counter -Counter <カウンター>」と指定して実行します。「-Counter」オプションは省略することもできます。

 以下の実行例は、「Processor」のカウンターセットに含まれる「Processor Time」カウンターを計測して、結果を取得しています(画面3)。

コマンドレット実行例

Get-Counter "\Processor(_total)\% Processor Time"

(「Processor Time」カウンターの計測結果を取得する)


画面3 画面3 「Processor Time」カウンターの計測結果を取得する


継続的にパフォーマンスを測定する

 「-Continuous」オプションを使用すると、継続的にパフォーマンスを計測することができます。あるプログラムが動作している間など、一定期間の計測結果を得ることができます。

 「-Continuous」オプションを使用すると、[Ctrl]+[C]キーが押されるまでの間、1秒間隔で計測が行われます。計測間隔(秒数)を指定したい場合には、「-SampleInterval」オプションを併用します。

 以下の実行例では、「Processor Time」カウンターについて、5秒間隔で継続的にパフォーマンスを計測しています(画面4)。

コマンドレット実行例

Get-Counter "\Processor(_total)\% Processor Time" -Continuous -SampleInterval 5

(プロセッサのパフォーマンスを5秒間隔で計測する)


画面4 画面4 プロセッサのパフォーマンスを5秒間隔で計測する。「-SampleInterval」オプションで計測間隔(秒数)を指定している


取得するデータの数を指定してパフォーマンスを測定する

 前項で紹介した「-Continuous」は、[Ctrl]+[C]キーが押されるまでの間、計測し続けるオプションです。取得するデータの数を指定してパフォーマンスを計測するには、「-MaxSamples」オプションを使用します。

 このとき、「-SampleInterval」オプションと組み合わせれば、取得するデータの数と間隔を乗算することで、計測開始から終了までのおおよその時間も把握することができます。

 以下の実行例では、「Processor Time」カウンターについて、5秒間隔で3つのサンプルデータが得られるように計測しています(画面5)。この処理にかかる時間は、実行してから約15秒(データ3つ×5秒間隔)です。

コマンドレット実行例

Get-Counter "\Processor(_total)\% Processor Time" -MaxSamples 3 -SampleInterval 5

(プロセッサのパフォーマンスを5秒間隔で計測し、3つのデータを取得する)


画面5 画面5 プロセッサのパフォーマンスを5秒間隔で計測して、3つのサンプルデータを取得した


筆者紹介

新井 慎太朗(あらい しんたろう)

株式会社ソフィアネットワークに所属。2009年よりマイクロソフト認定トレーナーとして、Windowsを中心としたサーバおよびクライアント管理、仮想化技術に関するトレーニングを提供している。無類の猫好き。共同執筆者である国井家で飼われている猫に夢中。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

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

メールマガジン登録

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