Hello
I have a strange situation with my ASP.Net applications running on Windows 2003 Server x64. As soon as they get instantiated (a visitor hits a page). the virtual memory they allocate goes to something around 5GB! I can't explain the reason. I even made a very simple page (no Web.config, no global.asax, just text output) and it behaves the same.
The applications uses 3 tier architecture with all (IIS, component, etc) running at 64 bits.
I use Process Explorer to see what is happening on the processes. The problem is critical because i can't set a virtual memory limit for each application pool on IIS. If i do that, the pool gets recycled at 1-2 minutes interval due to high virtual memory allocation.
I attach the following images:
1. Show the w3wp.exe processes and their memory allocations. Note that Private bytes & working set is too low compared with Virtual Size. The process are running for about 10 hours without being recycled (i have deactivate automatic recycling based on virtual memory size on application pools).
2. Shows that the w3wp process is a 64 bit process and the application run on it's own application pool.
3. Shows the stats about Virtual And Physical memory usage. Note that the working set is far too smaller that the allocated Virtual Memory.
4. Shows the .Net CLR Memory counters. Not many GC operations, seems too normal.
Is this happening by design? I mean if the allocated virtual memory is not critical and is automatic allocated by the 64 bits processes.
If it is not, is there a possibility that there is a config file somewhere that instructs w3wp processes to allocate so much virtual memory from the beginning?
Best regards
John
Image 1
Image 2
Image 3
Image 4