Рабочий процесс IIS использует много памяти?

У меня есть один веб-сайт на моем сервере, и 9X_asp.net мой рабочий процесс IIS постоянно использует 9X_aspx 4 ГБ ОЗУ. Что я должен проверить?

c:\windows\system32\inetsrv\w3wp.exe 

18
0
5
Общее количество ответов: 5

Ответ #1

Ответ на вопрос: Рабочий процесс IIS использует много памяти?

Я бы проверил раздел настройки CLR в document, упомянутом 9X_worker-process Гульзаром.

Как указывалось на других плакатах, для 9X_asp-net любого объекта, реализующего IDispose, должен быть 9X_asp.net вызван Dispose() по завершении работы, предпочтительно 9X_asp.net-website с использованием конструкции using.

Запустите 9X_memory perfmon.exe и добавьте эти счетчики:

  • Процесс \ Байты личного пользования
  • Память .NET CLR # байт во всех кучах
  • Процесс \ Рабочий набор
  • Память .NET CLR \ Размер кучи больших объектов

Увеличение байтов 9X_aspdotnet личного пользования, в то время как количество 9X_memory байтов во всех кучах счетчик остается прежним 9X_iis указывает на неуправляемый потребление памяти.

Увеличение оба 9X_asp-net счетчика указывают на управляемую память потребление

16
0

Ответ #2

Ответ на вопрос: Рабочий процесс IIS использует много памяти?

проверьте раздел об устранении проблем с 9X_worker-process памятью в Tuning .NET Application Performance

6
0

Ответ #3

Ответ на вопрос: Рабочий процесс IIS использует много памяти?

Создайте мини-дамп процесса w3wp и используйте 9X_worker-process WinDbg, чтобы узнать, какие объекты находятся 9X_worker-process в памяти. Это то, что группа поддержки IIS 9X_iis в Microsoft делает всякий раз, когда им 9X_worker-process задают подобные вопросы.

3
0

Ответ #4

Ответ на вопрос: Рабочий процесс IIS использует много памяти?

Если у вас есть доступ к исходному коду, вы 9X_asp-net можете проверить, что любые объекты, реализующие 9X_aspdotnet IDisposable, упоминаются внутри операторов 9X_aspx using или правильно утилизируются, когда вы закончите 9X_memory с ними.

Using - это конструкция C#, но основная 9X_asp.net идея состоит в том, что вы освобождаете 9X_aspx ресурсы, когда закончите.

Еще одна вещь, которую 9X_asp-net следует проверить, - это то, что большие 9X_asp-net объекты помещаются в состояние сеанса или 9X_aspx в кеш "в процессе".

2
0

Ответ #5

Ответ на вопрос: Рабочий процесс IIS использует много памяти?

Более подробная информация определенно поможет. Сколько 9X_aspdotnet приложений работает в пуле приложений? Есть 9X_asp.net-website ли в пуле приложения ASP.NET?

Если вы используете 9X_asp.net ASP.NET, внимательно посмотрите, что вы 9X_aspdotnet храните в переменных сеанса и кэша. Используйте 9X_iis PerfMon, чтобы проверить, сколько существует 9X_worker-process коллекций поколений 0, 1 и 2. С осторожностью 9X_aspdotnet относитесь к хранению элементов пользовательского 9X_aspdotnet интерфейса в состоянии сеанса или в кеше, поскольку 9X_memory это предотвратит сбор всего экземпляра страницы 9X_aspdotnet и всех дочерних экземпляров страницы. Наконец, проверьте, много 9X_aspx ли вы выполняете конкатенацию строк. Это 9X_asp.net может вызвать множество экземпляров объектов, поскольку 9X_asp.net строки .NET неизменяемы. Попробуйте вместо 9X_aspdotnet этого использовать StringBuilder.

2
0