谁能给我解释一下托管堆和GC堆之间的区别吗?因为我注意到有时 Process explorer + VMMap 中的总托管堆大小 < (Gen 0 + Gen 1 + Gen 2 + LOH)。
在我看来,总托管堆应该等于 GC 堆(Gen0-2+LOH),为什么在进程资源管理器的 .NET 性能选项卡中,总 GC 堆大小大于 VMMap 中的托管堆大小?
最佳答案
GC HEAP
GC Heap 托管对象实例,Generations 是垃圾收集器堆的逻辑 View
MANAGED HEAP
托管堆段是垃圾收集器收集的一 block 内存 代表托管代码从操作系统保留(通过调用 VirtualAlloc)
LOADER HEAP
LoaderHeaps 将其进一步划分的类型系统组合在一起 1>高频堆 2>低频堆 3> stub 堆
您还可以使用SOS来验证这些堆
!eeheap-loader
!eeheap - GC
!GCRoot [-nostacks] [对象引用]
关于.net - 托管堆和GC堆有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16188003/