私はこれに関連する多くの質問があることを理解しています。 2つの命令でコンソールアプリケーションを作成します。大容量のリストを作成し、サンプルデータを入力してから、そのリストをクリアするか、またはnullにします。 私が知りたいのは、デバッグ中に私が知っている/測定/プロファイルする方法があるかどうかです。もしリストがクリアされ、null-edで使用された実際のメモリがリストの前と同じなら作成され、移入されました。私は、アプリケーションが情報を廃棄し、GCが収集を完了したことを確かに知っていますが、この後にアプリケーションが消費するメモリ量を確認できますか? 私は、リストを埋める過程で多くのメモリが割り当てられ、それがクリアされた後、必要であれば他のプロセスがメモリを利用できるようになるが、アプリケーションが消費する実際のメモリを終わり? ありがとう.netメモリの測定とプロファイリング
編集:OK、ここに私の実際のシナリオと目的があります。私は、大量のデータをUSBデバイスで読み取って動作するWPFアプリケーションで作業します。ある時点で、アプリケーションは約700MB以上のメモリを割り当ててすべてのListデータを格納し、解析して解析してからファイルシステムに書き込みます。ファイルシステムにデータを書き込む際には、すべてのリストをクリアし、以前は大きなデータを保持していたすべてのコレクションを破棄して、別のデータ処理を行うことができます。パフォーマンスに関する問題に遭遇したり、最終的にすべてのメモリを使い果たしたりしないことを知りたい。私のプログラムでは大量のメモリを使用しても問題ありませんが、数回のUSB処理を経てそれを使っても問題ありません。 これを制御するにはどうしたらいいですか?このような場合に、メモリまたはプロセスプロファイラが使用されていますか?タスクマネージャーを使うだけで、私のアプリケーションは800 MBのメモリを占有していますが、コレクションをクリアしてもメモリは同じままです。私は、Windowsがそれを必要としない限り下がらないことを理解しているので、メモリがクリアされ、自由に(アプリケーションやウィンドウによって)使用されることを知ることができるかどうかを知りたいですか?