Например, если я вижу, что некоторые из этих кучек довольно большие, мой следующий вопрос будет заключаться в том, кто их использует (собственный или управляемый код). Как я могу определить, какой родной кучи (! Heap -s) использует CLR для своей цели?Каким образом кучи CLR GC отображаются в нативные кучи?
2
A
ответ
1
CLR использует VirtualAlloc для выделения сегментов памяти, которые будут использоваться как управляемые кучи. Вы можете проверить сегменты, используя! Sos.eeheap -gc. ! sos.dumpheap -stat покажет вам, сколько памяти используют управляемые кучи, и какие типы объектов потребляют память.
0
В CLR не используются никакие нативные кучи. Используйте SOS и! DumpHeap, чтобы увидеть управляемые кучи.
Здесь link для поиска того, кто использует родной кучи.
У меня были хорошие результаты с DebugDiag 1.1 для поиска, кто использует ту или иную кучу.
Edit: Хотя VirtualAlloc используется для выделения памяти для нативнога кучи, то CLRUsage показывает, что есть и родная куча используется. Однако я не знаю цели.
0:000> !CLRUsage
Native Heap for mscorwks: 0x07e60000
Number of GC Heaps: 1
------------------------------
GC Heap Size 0xbc7dd4(12,352,980)
Total Commit Size 00e22000 (14 MB)
Total Reserved Size 0225e000 (34 MB)
Initial reservation type: All at once
Initial Allocation Size: 2000000 (33,554,432) (32 MB)
Reserved Memory Size: 3000000 (50,331,648) (48 MB)
Reserved Memory Limit Size: 3000000 (50,331,648) (48 MB)
Смежные вопросы
- 1. Что такое «нормальный» для размеров кучи генерации для GC CLR?
- 2. Объекты, подходящие для GC в свалке кучи?
- 3. Вызов GC на куче кучи Java
- 4. boehm-gc: финализатор и сжимается до кучи
- 5. Влияние параметров кучи на GC/производительность?
- 6. Время сортировки кучи кучи
- 7. Память кучи памяти подходит для GC?
- 8. Переполнение кучи - Структура кучи
- 9. Ошибка кучи кучи в findContours
- 10. Как анализировать кучи кучи
- 11. В чем разница между распылением кучи, переполнением кучи, переполнением кучи?
- 12. Программно выполнять удаленный кучи кучи
- 13. Android StrictMode и кучи кучи
- 14. Метод кучи структуры данных кучи
- 15. Ядровая куча кучи и размер кучи после анализа кучи отличаются
- 16. Что такое эквивалент кучи кучи в Oracle
- 17. hprof (размер кучи кучи) значительно меньше кучи, выделенной
- 18. Каким образом CLR интерпретирует следующий LINQ запрос
- 19. Фрагментация большого объекта кучи
- 20. Переполнение кучи в Haskell
- 21. Почему запуск кучи кучи приводит к значительному сокращению количества потоков?
- 22. Почему мой куча кучи Java показывает только половину кучи?
- 23. Доступ к проценту памяти кучи между последовательными GC (в HotSpot)?
- 24. Xmx и gc log max разница в размере кучи?
- 25. Память, используемая приложением больше фактического размера кучи кучи
- 26. Детерминированный GC в CLR?
- 27. Как собрать кучи кучи любого java-процесса
- 28. datastructure или реализация кучи кучи приятелей
- 29. Какой поток вызвал OutOfMemoryException кучи кучи
- 30. Инструмент обнаружения кучи кучи для C++