システムの開発時、メモリリークが疑われる場合最初にタスクマネージャでexeが使用しているメモリの量を確認する事が多いかと思います。 この際、Windows7のタスクマネージャでだと、メモリの使用量として「ワーキングセット(メモリ)」と、「メモリ(プライベートワーキングセット)」の2つが有りますが、ワーキングセットを見てメモリリークの判断を行ってはいけません。 (補足:XPだと、プライベートワーキングセットは、仮想メモリサイズと表記されます) なぜかというと、ワーキングセットの値は、以下の特性があり該当のexeが”今使用している”メモリ量をあらわしているわけでは無いからです。 1.ワーキングセットの値は,他のプロセスと共有しているメモリ領域のサイズが含まれている (コード領域のメモリや、共有DLLのエリアのサイズが含まれる) 2.ワーキングセットの値は,使用してないけど開放されてないメモリも
![メモリリークの確認に、タスクマネージャのワーキングセットを使ってはいけない。](https://cdn-ak-scissors.b.st-hatena.com/image/square/6c5edf0c0c24559670521465eb7ccf6b7c3a4873/height=288;version=1;width=512/http%3A%2F%2Fnanoappli.com%2Fblog%2Fwp-content%2Fuploads%2F2012%2F05%2F20120518_13-500x277.jpg)