有人可以向我解释托管堆和GC堆之间的区别吗?因为我注意到有时总托管堆大小< Process Explorer + VMMap中的(Gen 0 + Gen 1 + Gen 2 + LOH)。
在我看来,总托管堆应该等于GC堆(Gen0-2 + LOH),为什么在Process explorer的.NET Performance选项卡中,总GC堆大小大于VMMap中的托管堆大小? / p>
答案 0 :(得分:1)
GC HEAP
GC Heap托管对象实例,Generations是垃圾收集器堆的逻辑视图
MANAGED HEAP
托管堆段是垃圾收集器的一块内存 代表托管代码从OS(通过调用VirtualAlloc)预留
LOADER HEAP
LoaderHeaps将进一步划分的类型系统保持在一起 1 GT;高频堆 2 - ;低频堆 3 GT;存根堆
您也可以使用SOS来验证这些堆
!eeheap -loader
!eeheap - GC
!GCRoot [-nostacks] [对象参考]