标签: c# memory object size profiler
我有一个对象,我需要在IIS中为一个Web应用程序缓存其中几个,所以我正在分析每个实例使用多少内存。
我写了一个小的exe,我在构建之前和之后调用了GC.GetTotalMemory(true),差异大约是335k但是如果在CLR profiler中分析它会显示 22 MB 强大的内存用于没有意义的对象。
exe
GC.GetTotalMemory(true)
CLR profiler
我在CLR探查器中解释的错误是什么? 我应该在哪里检查分析器以查看单个对象大小?
答案 0 :(得分:1)
根据MSDN:垃圾收集器不保证收集所有无法访问的内存。
look here
CLR分析器显示分配的所有内存;
如果您使用GC.GetTotalMemory(false)结果是什么?