◆パフォーマンスモニタ
[ ホーム ] [ 上へ ] [ パフォーマンスモニタ VC++編 その1 ] [ パフォーマンスモニタ VBA編 その1 ] [ パフォーマンスモニタ again 〜 レジストリデータを使ってモニタリング ] [ パフォーマンスモニタ returns 〜 カスタムパフォーマンスモニタの作成 その1 ]
・パフォーマンスモニタについて
「パフォーマンスモニタ」とはCPU、HDD、メモリ、プリンタなどの ハードウェアリソースの活動状況や、サーバーなどのコンポーネントの活動状況を リアルタイムに監視するユーティリティです。特にDBサーバのボトルネックを見つけたり、 コンポーネントのハードウェアリソースの占有度を確認したりするのにたいへん 有難いユーティリティかと感じてます。
実際どんな感じなのかはCtrl + Alt + Deleteキーでタスクマネージャを
起動してパフォーマンスタブをクリックしてください。CPU使用率、ページファイル使用量
などいろいろな活動状況が確認できます。
また、コントロールパネル→管理ツール→パフォーマンス(Windows XP)でも以下のような
ダイアログが表示され状況が確認できます。
最初に監視対象についてざっくり書きましたが、具体的に
「どのようなリソース」の「どんな活動」が
監視できるかを知らないと何も始まらないのですが、そのためには以下のキーワードが必要に
なってきます。
1.マシン名
2.パフォーマンスオブジェクト
3.カウンタ
4.インスタンス
1.マシン名 ・・・書くまでもないですね。監視対象のコンピュータ名です。 以後はローカルマシンに限って書いていきます。
2.パフォーマンスオブジェクト
・・・監視対象のリソースです。「どのようなリソース」に対応する部分です。
具体的にはハードウェアではCPUやメモリ、ハードディスクドライブなどが、ソフト的にはプロセスやIISや
SQL Serverなどがこれにあたります。
3.カウンタ ・・・「カウンタ」なんて名前だから分かりづらいですが(私も戸惑いました)、 リソースの活動の種類、「どんな活動」の部分です。 例えば、メモリオブジェクトでしたら、物理メモリ利用可能サイズやキャッシュの 使用量など様々なものがあります。
4.インスタンス ・・・上記のメモリの場合は存在しないですが、プロセス(Process)やスレッド(Thread)オブジェクト にはインスタンスがあります。例えばプロセスオブジェクトですが、 iexplorer(インタネットエクスプローラ)やExcelなどいくつものプロセスが動いていて それぞれがインスタンスになります。
いくつか以下にいくつか例を挙げてみます(Windows XPにて確認)
オブジェクト | カウンタ | 説明 |
ハードディスク(PhysicalDisk) | % Disk Time | ドライブの書込・読込でビジー状態の時間の割合 |
Disk Transfers/sec | ディスク上の読込・書込操作の速度 | |
% Idle Time | サンプリング期間内のディスクアイドル時間の割合 | |
CPU (Processor) | % Processor Time | 非アイドル状態のスレッドに使われた時間の割合(CPU使用率) |
メモリ(Memory) | Available Bytes | 実行中プロセスの利用可能物理メモリ量 |
Cache Bytes | システム・ファイル・キャッシュの使用量 | |
印刷キュー(Print Queue) | Total Pages Printed | 印刷処理済ページ数 |
Bytes Printed/sec | 印刷キューで印刷される1秒あたりのバイト数 | |
プロセス(Process) | Elapsed Time | 該当プロセスの総経過時間 |
Thread Count | 該当プロセスでアクティブなスレッド数 | |
サーバ(Server) | Bytes Total/sec | サーバがネットワーク間で送受信したバイト数 |
Server Sessions | サーバ上で現在アクティブなセッション数 |
これはほんの一部で、私の環境ではオブジェクトだけでも100ほど、 それぞれのオブジェクトに数個から100強のカウンタがあります。また、オブジェクトの中には インスタンスが存在するものがあるので、組み合わせは膨大になります。
他にどんなオブジェクト・インスタンス・カウンタがあるかは以下で確認ができます。(Windows XP)
1. こちらのパフォーマンスダイアログを表示してください。
2.右ペインの下部のリストビューにモニタしているカウンタがあるかもしれませんが、かまわず
そこを右クリックすると「カウンタの追加(D)」のフロートメニューが現れるのでクリックすると
以下のダイアログが表示されます。
これでパフォーマンスオブジェクトを選択すると選べる カウンタ/インスタンスがリストボックスに表示されます。また、カウンタ名だけでは どんな監視するか分からないので、説明ボタンをクリックすると内容が表示されます。
これでもいいのですが見通しがわるいのでVC++ 2005、VBAでオブジェクト・ インスタンス・カウンタとその説明を一覧として取得してみます。 その後でプログラムで既存のカウンタを使って実際に監視(モニタ)してみます。