質問: C#のWindowsフォームアプリケーションを作っています。 ビルド環境はVisual Studio 2010です。 数百件のバッチ処理を行っており、 LocalReportによる画像帳票の作成や、 WPFによる画像変換を行っています。 処理件数に応じて使用メモリ(プライベートワーキングセット)が増えていきます。 ハンドル数、ユーザーオブジェクト数、GDIオブジェクト数は増えません。 メモリリークの可能性もあるかと思い、 処理件数とメモリの利用状況をログに取りました。 すると、200件程度までは処理件数に応じてメモリを消費していきますが、 800MBぐらいで頭打ちになり、そこからは使用メモリ量が増えません。 このような場合、メモリリークを疑うべきでしょうか。 それともヒープ領域が空いている場合は、 なるべくメモリを使おうとしていると解釈すべきでしょうか。
回答: LocalReportのオブジェクトが削除されずにヒープに残っているのが問題でした。 以下の設定をapp.configに追加することによって、メモリの使用量は激減しました。 ``` ``` 参考URL: