初版2000年9月26日
WindowsNTパフォーマンスモニタによるメモリリークのチェック/分析方法
パフォーマンスモニタを使用してメモリリーク発生をチェックする方法です
1.メモリリークの存在の確認
(1) 「Memory」オブジェクト→「Available Bytes」カウンタを追加します
Available Bytes は、実行中のプロセスが利用可能な仮想メモリの容量を示します。
(2) しばらくして「Available Bytes」値が減少するとメモリリークが発生していると考えられます
2.メモリリークの原因がアプリケーションかシステム(デバイスドライバ含む)かどうか判断する方法
(1)「Process」オブジェクトの二つのカウンタを追加します
「Pool Nonpaged Bytes」カウンタ
「Pool Paged Bytes」カウンタ
Pool Nonpaged Bytes は、カーネルモードプログラムのスワップアウト不可のメモリ容量を表示します。
Pool Paged Bytes は、カーネルモードプログラム/ユーザモードプログラムのスワップアウト可能なメモリ容量を表示します。
(2)いずれかの値だけ多く増加していくとメモリリークが考えられます
(3)プロセス毎に両カウンタを観察し、原因となるプロセスを突き止めます