Running ASP.NET 1.1 with IIS 6.0, Configuring recycling worker process memory limits

Configuring recycling worker process memory limits
By default IIS 6.0 does not set a limit on the amount of memory that IIS is allowed to use. ASP.NET’s Cache feature relies on a limitation of memory so the Cache can proactively remove unused items from memory.

It is recommended that you configure the memory recycling feature of IIS 6.0. To configure this open Internet Information Services Manager (Start | Programs | Administrative Tools | Internet Information Services). Once open, expand the ‘Application Pools’ folder:

For each application pool:



1. Right-click on the application pool, e.g. ‘DefaultAppPool’, and select ‘Properties’:


2. Next, enable Memory recycling by clicking on either ‘Maximum used memory (in megabytes):’. The value should not be more than the amount of physical (not virtual) memory on the server, a good approximation is 60% of the physical memory, i.e. for a server with 512MB of physical memory select 310. It is also recommended that the maximum not exceed 800MB when using a 2GB address space. If the memory address space of the server is 3GB, the maximum memory limit for the worker process can be as high as 1,800MB:


Click ‘Apply’ and the ‘OK’ to exit the properties dialog. Repeat this for all available application pools.

Configuring worker recycling

By default IIS 6.0 is configured to recycle its worker process every 29 hours. This is a bit aggressive for an application running ASP.NET and it is recommended that automatic worker process recycling is disabled.

To disable automatic worker process recycling, first open Internet Information Services Manager (Start | Programs | Administrative Tools | Internet Information Services). Once open, expand the ‘Application Pools’ folder:





For each application pool:

1. Right-click on the application pool, e.g. ‘DefaultAppPool’, and select ‘Properties’:


2. Uncheck ‘Recycle worker process (in minutes):’:


Click ‘Apply’ and the ‘OK’ to exit the properties dialog. Repeat this for all available application pools.

0 comments: