C
Charles Sauthier
Hi,
I've some web servers running ASP.Net and getting hundreds of thousands of
request a day each. These boxes are dual PIII 1GHz with 1GB RAM and running
Windows 2000/IIS5/.Net 1.1 (previously 1.0).
The problem is that the ASP.Net "Cache" class begins scavenging when the
total physical memory usage on the server gets over 75%, even when setting
the memoryLimit parameter to 80, 90 or 100%. I monitor the scavening thanks
to the callback methods.
My boxes run only IIS, so the only processes using memory are the system,
aspnet_wp.exe and inetinfo.exe (this later using only about 25 MB of RAM,
because my application uses only dynamic content).
To resume, aspnet_wp.exe uses a most 600MB of physical RAM (about 200 MB
being used by the few other processes and the system), wasting 200 MB of
physical RAM which are always free (according to the performance counters
and the task manager), which is a waste of performance and money.
It seems that any value greater than 60% is equivalent to 60% for the
memoryLimit parameter of the machine.config file. On the other hand, smaller
values works well.
The problem exists as well with 512 MB of total RAM and/or with the
framework 1.0.
If anybody has some information on how to tell aspnet to use the available
memory efficiently...
I've some web servers running ASP.Net and getting hundreds of thousands of
request a day each. These boxes are dual PIII 1GHz with 1GB RAM and running
Windows 2000/IIS5/.Net 1.1 (previously 1.0).
The problem is that the ASP.Net "Cache" class begins scavenging when the
total physical memory usage on the server gets over 75%, even when setting
the memoryLimit parameter to 80, 90 or 100%. I monitor the scavening thanks
to the callback methods.
My boxes run only IIS, so the only processes using memory are the system,
aspnet_wp.exe and inetinfo.exe (this later using only about 25 MB of RAM,
because my application uses only dynamic content).
To resume, aspnet_wp.exe uses a most 600MB of physical RAM (about 200 MB
being used by the few other processes and the system), wasting 200 MB of
physical RAM which are always free (according to the performance counters
and the task manager), which is a waste of performance and money.
It seems that any value greater than 60% is equivalent to 60% for the
memoryLimit parameter of the machine.config file. On the other hand, smaller
values works well.
The problem exists as well with 512 MB of total RAM and/or with the
framework 1.0.
If anybody has some information on how to tell aspnet to use the available
memory efficiently...