2013-04-24 7 views
0

Может ли кто-нибудь объяснить мне разницу между управляемой кучей и кучей GC? Поскольку я заметил, что иногда общий размер управляемой кучи < (Gen 0 + Gen 1 + Gen 2 + LOH) в Process explorer + VMMap.В чем разница между управляемой кучей и кучей GC

На мой взгляд, общая управляемая куча должна быть равной GC-куче (Gen0-2 + ​​LOH), почему на вкладке «Производительность» Process Explorer, общий размер кучи GC больше, чем размер управляемой кучи в VMMap?

+0

Я бы предположил, что разница - это память, которая на самом деле не используется на данный момент, но не была возвращена ОС. – CodesInChaos

+0

Я согласен с вами, но я все еще смущен тем, что если в GC-куче есть какие-то объекты без ссылок, что это такое в VMMap? Я предполагаю, что это будет как личные данные или нативная куча, это правда? – Denny

ответ

1
GC HEAP 

ГХ ворохи хосты объект экземпляры и Поколения являются логическим видом сборщика мусора кучи

MANAGED HEAP 

управляемой кучей сегмент представляет собой часть памяти, что сборщик мусор запасов из ОС (через вызова VirtualAlloc) от имени управляемого кода

LOADER HEAP 

LoaderHeaps скрепить системы типа она дополнительно разделена на 1> Высокая частота кучного 2> низкая частота кучного 3> Заглушка Heap

вы также можете использовать SOS, чтобы проверить эти кучного

eeheap -loader

eeheap -! GC

GCRoot [-nostacks] [ссылка на объект]

Смежные вопросы