为什么GC.GetTotalMemory()和CLR Profiler数字之间存在巨大差异?

时间:2011-06-12 05:52:15

标签: c# memory object size profiler

我有一个对象,我需要在IIS中为一个Web应用程序缓存其中几个,所以我正在分析每个实例使用多少内存。

我写了一个小的exe,我在构建之前和之后调用了GC.GetTotalMemory(true),差异大约是335k但是如果在CLR profiler中分析它会显示 22 MB

我在CLR探查器中解释的错误是什么?
我应该在哪里检查分析器以查看单个对象大小?

1 个答案:

答案 0 :(得分:1)

根据MSDN:垃圾收集器不保证收集所有无法访问的内存。

look here

CLR分析器显示分配的所有内存;

如果您使用GC.GetTotalMemory(false)结果是什么?