ASP.NET: w3wp использует много памяти, и процесс не отвечает

Может ли кто-нибудь дать мне пошаговые инструкции или указать правильные ссылки в правильном порядке

чтобы я мог определить основную причину этой проблемы?

На случай, если кто-то не знает, w3wp - это рабочий процесс aps.net. (Я думаю, что ОП уже знает, основываясь на том, как он пометил вопрос, но кто-то другой может не сразу увидеть это).

Joel Coehoorn 09.10.2008 00:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
4 760
3

Ответы 3

Вы можете получить дамп памяти процесса и заглянуть в него 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 может потреблять большой объем памяти по разным причинам.

  • Большое количество запросов на обработку
  • Большой объем передачи данных (например, обработка мультимедиа)
  • Утечка памяти
  • Любая комбинация вышеперечисленного.

Если вы подозреваете, что первые два являются проблемой, вам необходимо увеличить масштаб системы (добавить дополнительные серверы и т. д.).

Утечка памяти приведет к постепенному увеличению использования памяти с течением времени.

Если вы подозреваете утечку памяти, можно рассмотреть следующие действия.

  • Проверка кода (особенно статические объекты и регистрация / отмена регистрации событий)
  • Профилирование: профилирование на предмет утечки памяти иногда может быть сложной задачей. Убедитесь, что вы собираете данные в течение некоторого периода времени / запроса во время профилирования и проверяете долгоживущие объекты, а также проверяете, что их долгий срок службы действителен.

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