Например, если я настрою следующие ограничения для пула приложений в настройках «Переработка»:
Virtual Memory: 512Mb
Private Memory: 128Mb
- или «использованная память» на языке IIS 6
Может ли процесс использовать, скажем, 90 МБ физической памяти, но запросил использование 256 МБ виртуальной памяти и, таким образом, не запускать повторный цикл?
Да. Обычно рабочий процесс IIS использует больше виртуальной памяти, чем физической. Чтобы убедиться в этом, скачайте копию ProcessExplorer и посмотрите на память процесса одного из рабочих процессов IIS.
В качестве примера из снимка экрана ниже: ProcessExplorer на сервере IIS 6 вы можете видеть, что этот рабочий процесс IIS использует ~ 195 МБ виртуальной памяти и ~ 37 МБ физической памяти (рабочий набор).
Для объяснения взаимосвязи между различными типами памяти см. Этот вопрос StackOVerflow. Что такое частные байты, виртуальные байты, рабочий набор?
Таким образом, исходя из ограничений, которые вы настроили с помощью рабочего процесса IIS, который использует 90 МБ физических и 256 МБ виртуальных, не запускает перезапуск пула приложений.
Вы должны использовать Монитор производительности чтобы понять использование памяти конкретным процессом. Вы должны использовать Виртуальные байты и Рабочий набор чтобы понять память, используемую конкретным процессом.
Теперь перейдем к вашему первоначальному вопросу. Вы пытаетесь добавить возможность утилизации в пул приложений. Могу я задать вопрос, почему вы хотите реализовать утилизацию в рабочем процессе? Если вас беспокоит объем памяти, используемый процессом, вам следует устранить проблему с памятью и не ограничивать процесс.