Recycling on a Used-Memory Threshold

Applies To: Windows Server 2003, Windows Server 2003 with SP1

A problem application might indefinitely increase the amount of memory that it uses without releasing the memory. This is also known as an application memory leak. You can set an application pool to recycle the worker processes that are assigned to it whenever used memory, which is also called private memory, reaches a specified threshold. Used memory is compared to the memory limit set for the worker process that determines when to recycle the worker process.

By default, recycling on a used-memory threshold is disabled in IIS 6.0. When it is turned on, the default used-memory threshold is 192 MB. To limit the impact from an application that increases used memory over time, enable recycling on a used-memory threshold and set a threshold that prevents unacceptable degradation. For example, such degradation might be caused by a memory-bound application that is unable to process requests. Initially, try a threshold of 60% of system memory. When running ASP.NET applications, try a threshold of 60% of system memory, or 800 MB, whichever is less. Also, when running ASP.NET applications, if you increase the virtual address space above the 2-GB default, you can then increase the used-memory threshold a like amount.

For information about using IIS Manager to configure a worker process to be recycled after consuming a set amount of memory, see Configure Application Pool Recycling. For information about how to configure a worker process to be recycled after consuming a set amount of memory by using a command-line procedure or scripts, see the PeriodicRestartPrivateMemory Metabase Property.