Утечка памяти в IIS7/.NET - переработка рабочего процесса - единственное долгосрочное исправление?
У меня проблема с утечкой памяти в приложении.NET 4. Это не утечка "забыли почистить" в обычном смысле этого слова, они делают компиляции, которые создают кучу сборок.NET в памяти, и они говорят мне, что после этого нет никакого способа их очистить. Так что теперь я должен продолжать обслуживание.
Поэтому я столкнулся с парой вариантов. Существует "настройка рабочих процессов IIS на перезагрузку при увеличении объема памяти". Это поможет, но мне кажется, что она все еще является метастабильной системой по своей природе, и, когда пул перерабатывается, это влияет на пользователя, не так ли?
Они пытались разбить компиляторы на отдельные временные домены приложений, но затем каждая операция выполняется довольно медленно, добавляя ~15 секунд на удар, чтобы порождать домен приложения. Поэтому они не хотят этого делать.
Есть ли что-то еще, кроме "много утилизации", которое я могу сделать со стороны системы, чтобы смягчить эту проблему более постоянным способом? (Или идеи приложения, но это больше для SO.)
1 ответ
Это звучит как типичная ошибка программирования. Переместите, чтобы выгрузить сборки на свой собственный домен приложений, и все в порядке. Это то, что я делаю для таких вещей, как плагины и т. Д., Которые нужно разгрузить.