Я хотел бы описать странную проблему, которую я заметил при анализе моего приложения asp.net в производственной среде, и попросить совета или мнения по следующему вопросу.
Приложение обычно работает с 80-90МБ памяти.Это кажется стабильным, поскольку утечек памяти пока не обнаружено - незначительное увеличение использования памяти с течением времени.Тем не менее, проблема возникает, когда пул приложений перезагружается (я использую общий хостинг и, судя по журналам, это происходит, когда приложение простаивает в течение 20 минут или каждые ~ 30 часов - что-то в этом роде).Проблема в том, что используемая память за период перезарядки почти удваивается - до 160-170 МБ без объяснения причин.Это сбивает с толку, так как принято утверждать, что утилизация должна очистить память и все другие ресурсы - по крайней мере, я так понимаю.Система удерживает этот объем памяти в течение 7-8 часов, а затем использование памяти падает до ее обычного уровня 90-100 МБ, опять же, без видимой причины (по крайней мере, мне не известно).Все время кажется, что приложение работает хорошо - без существенных задержек или проблем с доступностью сайта - пользователям все кажется в порядке, никаких жалоб пока нет.Если посмотреть на график потребления памяти с течением времени - он выглядит почти как пошаговая функция.
Важно то, что я не смог воспроизвести такое поведение в моей среде тестирования.Время от времени я получал уведомления от администраторов провайдеров о том, что мое приложение использует больше ресурсов, чем разрешено, и это действительно меня беспокоит.
Итак, что я хотел бы знать - есть ли возможный сценарий, когда переработка пула приложенийне освобождает все ресурсы памяти?Есть какой-нибудь совет или руководство, на чем я должен сосредоточиться?Я не эксперт в этой области, но я читал о таких вещах, как повторяющаяся переработка, проблемы с сериализацией при переработке и еще пара вопросов ... Есть идеи?Подобный опыт?
Спасибо