У меня есть .NET-сервис с обычным частным рабочим набором около 80 МБ. Во время недавнего теста нагрузки процесс достиг 3,5 ГБ памяти, из-за чего вся машина была низкой в физической памяти (3,9 из 4 ГБ), и память не была выпущена спустя долгое время после того, как тест нагрузки был остановлен. Используя диспетчер задач, я взял файл дампа процесса и открыл его в Visual Studio 2010 SP1, и я могу начать отлаживать его.
Как мне диагностировать проблему с памятью? У меня есть dotTrace Memory 3.x в моем распоряжении, поддерживает ли он профилирование памяти в файлах дампа? Если нет, будут ли функции профилирования памяти Visual Studio 2010 Premium помочь (в настоящее время у меня есть Professional)? Может ли WinDbg помочь?
UPDATE: Новая версия Visual Studio 2013 Ultimate теперь может диагностировать проблемы памяти с помощью файлов дампов. Подробнее см. этот пост в блоге.