C#アプリのメモリフットプリントを制限(約1〜2 GB)未満に減らすために、すべての変数のリストをリアルタイム(実行時)で、それらが消費するメモリの量(さらにはコンテンツ)。
私が見ることができることから、この一見単純な要求は、そこにあるメモリプロファイラーの注意を逃れたようです。たとえば、.NET Memory Profilerは、指定された各タイプ(Int32 []やStringなど)のメモリを表示しますが、名前付き変数ごとのメモリをより細かく表示することはできないようです。
dotTraceまたはANTSMemoryProfilerを試したことはありませんが、FAQ、ビデオ、およびスクリーンショットをスキャンすると、空白が表示されます。
私自身の変数とは別に、必要なプロファイラーには、.NETアプリで一般的な「オーバーヘッド」メモリ使用量が含まれている可能性がありますが、私にとってはそれほど重要ではありません。
これを実行できるプログラム(できれば無料または100ドル未満)はありますか?
- - - - - - - 編集
(Jon Skeetによって示されるように)相互に参照する変数の場合、またはメソッドへの参照によって渡される変数の場合、プロファイラーはそれらをグループ化して、それらが実際に同じオブジェクトであることを示すことができます(したがって、同じメモリを「共有」します) )、または元の変数名を表示して参照を省略します。