1

谁能向我解释托管堆和GC堆之间的区别?因为我注意到有时总托管堆大小 < (Gen 0 + Gen 1 + Gen 2 + LOH) 在 Process explorer + VMMap 中。

在我看来,总托管堆应该等于 GC 堆(Gen0-2+LOH),为什么在进程资源管理器的 .NET 性能选项卡中,总 GC 堆大小大于 VMMap 中的托管堆大小?

4

1 回答 1

3
GC HEAP

GC Heap 承载对象实例,Generations 是垃圾收集器堆的逻辑视图

MANAGED HEAP

托管堆段是垃圾收集器代表托管代码从操作系统(通过调用 VirtualAlloc)保留的一块内存

LOADER HEAP

LoaderHeaps 将类型系统组合在一起,它进一步分为 1> 高频堆 2> 低频堆 3> Stub Heap

您还可以使用 SOS 来验证这些堆

!eeheap -loader

!eeheap - GC

!GCRoot [-nostacks] [对象引用]

于 2014-01-29T23:22:40.673 回答