Назад | Перейти на главную страницу

Утечка памяти в IIS7 / .NET - является ли повторное использование рабочих процессов единственным долгосрочным решением?

У меня проблема с утечкой памяти в приложении .NET 4. Это не утечка типа «забыл очистить» в обычном смысле слова, они делают компиляции, которые создают кучу сборок .NET в памяти, и они говорят мне нет возможности избавиться от них после. Так что теперь моя задача - продолжить обслуживание.

Итак, я столкнулся с парой вариантов. Есть «настроить рабочие процессы IIS для повторного использования при увеличении памяти». Это поможет, но мне кажется, что это по-прежнему метастабильная система по своей природе, и когда пул перерабатывает, есть влияние на пользователя, не так ли?

Они пытались разбить компиляции на отдельные временные домены приложений, но тогда каждая операция была довольно медленной, добавлялось ~ 15 секунд на каждое обращение, чтобы создать домен приложения. Так что они не хотят этого делать.

Могу ли я что-нибудь сделать со стороны системы, кроме "большого объема переработки", для более постоянного устранения этой проблемы? (Или идеи приложений, но это больше для SO.)

Звучит как типичная ошибка программирования. Переместите, чтобы выгрузить сборки в их собственный домен приложения, и все в порядке. Это то, что я делаю для таких вещей, как плагины и т. Д., Которые мне нужно выгружать.