Hi Stan,
Thank you for using MSDN Newsgroup! My name is Steven, and I'll be
assisting you on this issue.
From your description, you're looking for some approachs to limit the max
memory each ASP.NET worker process will take since you always found the
worker process taking too much memory and eventually choking the webserver.
If there is anything I misunderstood, please feel free to let me know.
Based on my research, in ASP.NET runs with IIS5 enviroment, we can set the
worker process's features via the "processModel" element in the
machine.config file. The "processModel" element is like below:
<processModel enable="true" timeout="Infinite" idleTimeout="Infinite"
shutdownTimeout="0:00:05" requestLimit="Infinite" requestQueueLimit="5000"
restartQueueLimit="10" memoryLimit="60" webGarden="false"
cpuMask="0xffffffff" userName="machine" password="AutoGenerate"
logLevel="Errors" clientConnectedCheck="0:00:05"
comAuthenticationLevel="Connect" comImpersonationLevel="Impersonate"
responseDeadlockInterval="00:03:00" maxWorkerThreads="20"
maxIoThreads="20"/>
the "memoryLimit" is the certain attribute which control the maximum
allowed memory size of a ASPNET worker process
here is the description in MSDN:
-----------------------
memoryLimit: Specifies the maximum allowed memory size, as a percentage
of total system memory, that the worker process can consume before ASP.NET
launches a new process and reassigns existing requests. The default is 60
percent.
-----------------------
For the detailed info on other attributes in the "processModel" setting ,
you can view the following reference in MSDN:
#processModel configuration
http://msdn.microsoft.com/library/en-us/cpgenref/html/gngrfprocessmodelsecti
on.asp?frame=true
And for ASP.NET with IIS5 , use the "processModel" setting to control a
APS.NET application process, the memory limit is controled by percent (not
a absolute memory size value). However, this has been improved in the IIS6
where we can use the "Applicaion pool setting" to configure the ASP.NET
application process feature. It provide some new feature such as setting
the maximum memory limitation by absolute memory size(not percent value).
For detialed info on the "Application pool setting" , you may view the
following tech article in MSDN:
#IIS6 Web Application Pool Settings
http://msdn.microsoft.com/library/en-us/cpguide/html/cpconrecyclingapplicati
onpoolsettings.asp?frame=true
Also, I've found some reference on the ASP.NET web application's
performance Monitoring:
#ASP.NET Performance Monitoring
http://msdn.microsoft.com/library/en-us/dnaspp/html/monitor_perf.asp?frame=t
rue
Hope they're helpful to you. If you have anything unclear or need any
further assistant, please feel free to post here.
Regards,
Steven Cheng
Microsoft Online Support
Get Secure!
www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)