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