Устранение неполадок ASP.net возможной утечки памяти

Похоже, что с одним из наших веб-приложений возможна утечка памяти. w3wp.exe занимает около 1,5 ГБ ОЗУ, и наши веб-службы возвращают сообщение об ошибке, говорящее о том, что ему не хватает памяти. Есть ли способ определить, какое приложение вызывает чрезмерную память или профилировать активно работающие веб-сайты, чтобы увидеть причину проблемы с памятью?

Я хотел бы опубликовать это на Server Fault, но меня больше интересует способ отладки приложения, чтобы определить причину ошибки. Я могу запускать сайты локально, и w3wp.exe не занимает слишком много оперативной памяти. Это активные веб-сайты / веб-сервисы, которые постоянно используются, поэтому я предполагаю, что проблема будет проявляться только при чрезмерной нагрузке.

3 ответа

Решение

Debug Diagnostics Toolkit разработан именно для этой цели.

Есть несколько статей о том, как использовать инструментарий:

Вы могли бы попробовать копию Профилировщика Памяти Красных Ворот.

Попытка угадать утечку памяти в вашем приложении будет длиться вечно. Инструмент профилирования покажет вам, где именно проблема, без всяких досадных проб и ошибок.

Посмотрите этот эпизод dnrTV с Тесс Феррандез, чтобы узнать, как использовать WinDBG и другие инструменты для анализа дампа памяти - она ​​выглядит очень просто!

Другие вопросы по тегам