■はじめに
OSに依存しない定期監視はMRTGの方がはるかに楽。
MRTG導入の為のエビデンスという位置づけ。
MRTGは、少なくともDebian/CentOS、WindowsXPHome/XPPro/2003/2008/2008R2に入れた経験がある。
※WebはすべてApache系
Windows版のActivePerlのバージョンに悩まされるほどの機能は使っていない。
念のため、最新版と一つ前のバージョン、x86、x64のバージョン位は準備するべきだが。。。
■Windows XP/2003/2008/2008R2の性能監視
参考URL
http://www.atmarkit.co.jp/fwin2k/win2ktips/1235typeperf/typeperf.html
Windowsの管理ツールであるパフォーマンスモニタは見にくい。
MSでさえコロコロ変えるようなGUIのカスタマイズは行わない。
基本の管理を行い、確認したい項目が出たら詳細を見るという方針とする。
typeperfプロセスを常駐してもゾンビ化する事があるので、
定期的な監視なら、前述のMRTGを導入するべき。
■パフォーマンスカウンタで追加する際にカウンタの名前は見れるが、
以下コマンドでカウンタ名を指定しなければ、一覧表示される。
< typeperf -qx
■余談だが、linuxにもtypeperfコマンドはある。
debianやSolaris、BSD系ならsarを使う。
■debianの場合はsysstatに含まれる。グラフ作成ツールもある。
$ apt-cache search sysstat
isag - sysstat 用の対話式なシステム動作グラフ作成
sysstat - sar、iostat および mpstat - Linux 用システム性能ツール
参考URL
http://www.atmarkit.co.jp/fwin2k/win2ktips/1346loadave/loadave.html
■現在のステータス
既に仮想メモリ(スワップ)を使用しており、メモリ不足が読み取れる。
< systeminfo | find "AMD"
[01]: AMD64 Family 15 Model 79 Stepping 2 AuthenticAMD 2412 Mhz
デュアルコアだが、
< systeminfo | find "メモリ"
物理メモリの合計: 1,023 MB
利用できる物理メモリ: 73 MB
仮想メモリ: 最大サイズ: 9,215 MB
仮想メモリ: 利用可能: 7,963 MB
仮想メモリ: 使用中: 1,252 MB
■CPU使用率
各CPU毎にも出せるが、データ量はxコア数となる。
また、ヘルプに出ない程度のワイルドカードは使える。
100%のピークタイムを知りたいだけなら、「\% Processor Time」で充分。
★ヘルプを見る
< typeperf /?
★個別のCPU使用率を見る場合
< typeperf "\Processor(?)\% Processor time"
★個別のCPU使用率とTotalを見る場合
< typeperf "\Processor(*)\% Processor time"
< typeperf -qx Processor | find "Total"
\Processor(_Total)\% Processor Time
\Processor(_Total)\% User Time
\Processor(_Total)\% Privileged Time
\Processor(_Total)\Interrupts/sec
\Processor(_Total)\% DPC Time
\Processor(_Total)\% Interrupt Time
\Processor(_Total)\DPCs Queued/sec
\Processor(_Total)\DPC Rate
\Processor(_Total)\% Idle Time
\Processor(_Total)\% C1 Time
\Processor(_Total)\% C2 Time
\Processor(_Total)\% C3 Time
\Processor(_Total)\C1 Transitions/sec
\Processor(_Total)\C2 Transitions/sec
\Processor(_Total)\C3 Transitions/sec
■メモリの空き容量
空き容量は平均で充分。単位はMBを選択。
< typeperf -qx Memory | find "Available"
\Memory\Available Bytes
\Memory\Available KBytes
\Memory\Available MBytes
■ディスクアクセス
全ディスクの転送/読み込み/書き込みの平均を見る。
※この状態では問題があるディスクの特定は出来ない。
< typeperf -qx PhysicalDisk | find /i "total" | find /i "av"
\PhysicalDisk(_Total)\Avg. Disk Queue Length
\PhysicalDisk(_Total)\Avg. Disk Read Queue Length
\PhysicalDisk(_Total)\Avg. Disk Write Queue Length
\PhysicalDisk(_Total)\Avg. Disk sec/Transfer
\PhysicalDisk(_Total)\Avg. Disk sec/Read
\PhysicalDisk(_Total)\Avg. Disk sec/Write
\PhysicalDisk(_Total)\Avg. Disk Bytes/Transfer
\PhysicalDisk(_Total)\Avg. Disk Bytes/Read
\PhysicalDisk(_Total)\Avg. Disk Bytes/Write
■ディスク全体の平均値(バイト単位)
下記は実際は一行。
< typeperf "\PhysicalDisk(_Total)\Avg. Disk Bytes/Transfer"
"\PhysicalDisk(_Total)\Avg. Disk Bytes/Read" "\PhysicalDisk(_Total)\Avg. Disk Bytes/Write"
※下記のようにしたいところだが、そこまで賢くは無い。
typeperf "\PhysicalDisk(_Total)\Avg. Disk Bytes/*"