Can anyone explain to me the difference between managed heap and GC heap? Since I noticed that sometimes the total managed heap size < (Gen 0 + Gen 1 + Gen 2 + LOH) in Process explorer + VMMap.
In my mind the total managed heap should be equal GC heap(Gen0-2+LOH),why in the .NET Performance tab of Process explorer, the total GC heap size is larger than the managed heap size in VMMap?
GC Heap hosts object instances and Generations are the logical view of the garbage collector heap
A managed heap segment is a chunk of memory that the garbage collector reserves from the OS (via calling VirtualAlloc) on behalf of managed code
LoaderHeaps hold together the type system it is further divided in 1> High frequency heap 2> low frequency heap 3> Stub Heap
you can also use SOS to verify these heap
!eeheap -loader
!eeheap - GC
!GCRoot [-nostacks] [object reference]