




Вы можете получить дамп памяти процесса и заглянуть в него WinDbg. По крайней мере, он предоставит вам список исключений и текущее состояние (я) потоков. Однако это приведет к повторному использованию процесса. Также можно подключиться к машине в стиле QA в режиме удаленной отладки из Visual Studio. Однако я этого не делал, и все остальные запросы будут зависать во время отладки.
Если w3wp запущен локально, вы можете щелкнуть правой кнопкой мыши процесс в диспетчере задач и выбрать отладку, чтобы просмотреть его в WinDbg. В противном случае вам нужно что-то вроде Debug Diag на вашей производственной / тестовой машине для создания полного пользовательского дампа. См .: http://msdnrss.thecoderblogs.com/2008/05/21/debugdiag-11-or-windbg-which-one-should-i-use-and-how-do-i-gather-memory-dumps/
Я сделал все это еще в феврале, и с тех пор в этом не было необходимости. полный шаг за шагом на самом деле несколько болезненен из-за получения символов для WinDbg и настройки переменных среды, где они должны храниться и т. д.
Для получения информации о настройке WinDbg для проверки ASP.NET прочтите эту статью: http://support.microsoft.com/kb/892277
w3wp.exe - это процесс, связанный с пулом приложений в ISS. Если у вас несколько пулов приложений, у вас будет запущено несколько экземпляров w3wp.exe.
Для получения дополнительной информации прочтите это
w3wp.exe может потреблять большой объем памяти по разным причинам.
Если вы подозреваете, что первые два являются проблемой, вам необходимо увеличить масштаб системы (добавить дополнительные серверы и т. д.).
Утечка памяти приведет к постепенному увеличению использования памяти с течением времени.
Если вы подозреваете утечку памяти, можно рассмотреть следующие действия.
На случай, если кто-то не знает, w3wp - это рабочий процесс aps.net. (Я думаю, что ОП уже знает, основываясь на том, как он пометил вопрос, но кто-то другой может не сразу увидеть это).