Недавно у нас было веб-приложение ASP. NET (работающее в пуле 32-разрядных приложений), которое работало годами без проблем, заполнив его журнал OutOfMemoryExceptions. Переработка пула приложений устранила проблему.
Я знаю, что правильным долгосрочным решением является
- поиск, выявление и устранение любых утечек памяти и
- перенесите приложение в 64-битную систему и предоставьте больше памяти, если это необходимо.
Пока это не сделано, я хочу по крайней мере сохранить службу доступной. К счастью, пулы приложений в IIS позволяют мне легко настроить «Ограничение частной памяти (КБ)» и «Ограничение виртуальной памяти (КБ)» , в результате чего пул приложений будет перезапускается автоматически после достижения этих пределов.
Я хочу установить для этих опций значения, максимально высокие
- , чтобы избежать ненужных операций повторного использования пула приложений, но
- настолько низко, насколько это необходимо для предотвращения OutOfMemoryExceptions.
Поскольку 32-разрядные приложения могут использовать не более 2 ГБ виртуальной памяти, я бы ... просто установил обе опции чуть ниже 2 ГБ? Это действительно так просто или я что-то упустил?