Windows Server とパフォーマンスモニタ
Windowsには、パフォーマンスモニタと呼ばれる、パフォーマンス監視ツールが標準で準備されている。
Windows Server等では、パフォーマンスモニタを利用して稼動統計を取得したり、負荷を計測するのが一般的だ。
ただし、パフォーマンスモニタには非常に多くのパフォーマンスオブジェクト、カウンタが用意されており、あまりにも分かりにくい。
そこで、主なカウンタ、logmanについてまとめてみた。
perfmonのカウンタについて
主なパフォーマンスオブジェクトとカウンタは以下の通り
パフォーマンスオブジェクト | カウンタ | 用途 |
---|---|---|
memory | available bytes | 利用可能な物理メモリの容量 |
memory | cache bytes | システムキャッシュの使用量 |
network interface | bytes received/sec | インタフェース毎の受信量 |
network interface | bytes sent/sec | インタフェース毎の送信量 |
processor | processor time | CPUの使用率 |
process | thread count | 内部スレッドの数 |
process | virtual bytes | プロセスが使用している全メモリ量 |
process | working set | プロセスが使用している物理メモリ量 |
process | private bytes | プロセスが占有しているメモリ量 |
上記のうち、よく利用するものに、パフォーマンスオブジェクト「process」がある。
processを利用すると、プロセス毎にメモリ量を取得できる。
基本的にWebサーバであればWebインスタンス、DBサーバであればDBインスタンスがシステムの肝になるので、それぞれの統計を取得することはチューニングの上で非常に有用な情報となる。
(32bitOS上のOracleでは2GB制限を突破しないためにも必須)
ちなみにタスクマネージャからメモリ使用量、仮想メモリサイズが確認できるが、実はそれぞれ上記「Working set」「private bytes」の値となっている。
全メモリ量を確認するにはパフォーマンスモニタを使用するしかない。
logmanについて
パフォーマンスログの取得はGUI上からも設定できるが、logmanコマンドを利用してCUIで設定することもできる。
ちなみにログの繰り返し取得設定はlogmanを利用しないとできない[-rオプション]
(GUIからの設定方法があれば是非教えて)
基本的な使い方は「logman /?」にお譲りするとして、GUIツールに比べたlogmanの最大のメリットはなんといっても繰り返し設定が使用可能な事だろう。
作りやすいGUIからコレクションを作成し、logmanコマンドから繰り返し設定するのが最強だと思っている。
参考までに既存のコレクションを繰り返し設定に変更するlogmanコマンド
logman update コレクション名 -u 実行するユーザ名 パスワード -r logman query コレクション名