.Net Garbage Collector - Посмотрите, что повышается до Gen2 во время выполнения

Моя программа продвигает память в Gen2 с очень высокой скоростью (около 1 МБ / сек), и это приводит к снижению производительности, когда происходит сбор Gen2. Все мои попытки понять, какие объекты были продвинуты, терпели неудачу - в основном из-за того, что, когда я открывал 2 дампа в windbg, память, из которой производилось увеличение размера Gen2, была помечена как «Свободная». Это заставило меня подозревать, что проблема связана с закрепленными объектами, но статистика perfmon показывает, что количество закрепленных объектов очень мало (около 2-4).

Сейчас я думаю о том, чтобы попытаться как-то определить, какие объекты продвигаются к Gen2 во время выполнения. Есть ли способ сделать это?

8
задан galbarm 7 March 2011 в 08:45
поделиться