У меня есть настройка веб-сайта для использования IIS Express с visual studio 2012. После начала он медленно использует все больше и больше памяти на моем компьютере разработки. Как только я развертываю его, похоже, он остается довольно устойчивым. Очевидно, что где-то есть утечка памяти, но, поскольку она не появляется на реальном сервере, я не слишком беспокоюсь об этом (и после нескольких дней попыток ее отладки я до сих пор не нашел ее.)Как ограничить использование памяти IIS Express/принудительный пул приложений recyle
На моем компьютере разработки, если я забыл выключить его за одну ночь, он съедает всю память в моей системе и начинает пейджинг на диск. Когда я нахожусь на следующее утро, это займет много времени, чтобы даже убить его, потому что ОС также была нажата в память подкачки и очень вяло.
Посмотрите на пример на https://technet.microsoft.com/en-us/library/cc745955.aspx. Я полагаю, что я должен укрепить принудительный пул приложений, когда он достигнет уровня 3gig, чтобы избежать проблемы.
Я пошел в мой C: \ Users \ имя пользователя \ Documents \ IISExpress \ Config \ ApplicationHost.config файл и заменить раздел первого пула приложений со следующими:
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true">
<recycling>
<periodicRestart privateMemory="600000">
<schedule>
<clear />
</schedule>
</periodicRestart>
</recycling>
</add>
К сожалению, когда мой проект запустить его с удовольствием идет далеко за пределы 600 000 КБ, я пытаюсь наложить на него без перезапуска. Я пробовал как память, так и атрибут privateMemory, оба ничего не делают.
Мой проект настроен на использование .NET v4.0 Интегрированный режим, а также с помощью взаимодействия с Microsoft.Web.Administration. Я уверен, что мои изменения в настройке корректируют правильный пул приложений, и настройка перегрузки загружается в мой (но я новичок в этой библиотеке, поэтому я не совсем уверен.)