初版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)プロセス毎に両カウンタを観察し、原因となるプロセスを突き止めます


目次に戻る