ファイルを読み取り、ファイルのメタデータを取得するアプリケーションを作成しました。アプリケーションを起動すると、プライベート ワーキング セットは約 8MB です (タスク マネージャーで表示)。ファイルをスキャンすると、メモリは最大 150MB まで増加し、そこにとどまります。アプリケーションの同じインスタンスを使用して追加のファイルを追加すると、メモリが積み重なっていきます。この動作を理解するために、メモリ プロファイラー (レッド ゲート) を使用して、次の統計を示しました。
150MB のプライベート ワーカー セット メモリのうち
- アンマネージメモリ:94MB
- その他のリソース (文字列、配列など) : 30MB
アンマネージ コードも Pinvoke 呼び出しも使用していないので、これは私を困惑させます。私も GC.Collect() を試しましたが成功しませんでした。
アプリケーションのアンマネージ メモリの使用量を減らす方法と、その原因として考えられるものについて、どなたか教えていただけないでしょうか。
前もって感謝します