473,387 Members | 1,891 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

IIS & .Net Virtual memory consumption

4
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

Nov 8 '07 #1
6 10689
kenobewan
4,871 Expert 4TB
Sounds like you need the help of a server admin. What processes are running in the background? Watch these in the task manager to get an idea of what is happening and cpu usage. Does memory usage remain high or does it spike? Does your simple page run any web services or connect to a database?
Nov 8 '07 #2
zissop
4
The CPU usage is not high, between 5-50% most of the time.

The simple page does not do anything. It is just a simple Response.Write (no web.config, no global.asax).

And what about the other processes? How they affect my application? This does not sound logical.

Of course, these 5 GB per app is only virtual.Applications run smooth even they have virtually allocated 5 x5 ~ 25GB of virtual memory.

I think it is another Microsoft miracle in memory management and handling.
Nov 8 '07 #3
Plater
7,872 Expert 4TB
That's a head scratcher. I've seen the aspnet worker process grow in memory usage, but never to those levels (maybe 150megs, darn session objects like to eat)


Are your extra programs that run doing garbage collection like they should?
These 64bit programs are being run a on 64bit machine right?
Nov 8 '07 #4
zissop
4
These are some 64 bits components, they do not allocate so much memory. If they allocated the memory, the applications would crash the system in a few seconds.

These WEB applications run for days without allocate more that a couple of hundrend MBs each at the worst case.

That's why i setup a response.Write application to see it's behavior. No components, no allocation, now web.config, nothing. And again this app allocates 5GB virtual memory as soon i hit the aspx page.

I assume it is has to be something on a configuration file that it is machine wide (maybe machine.config - i checked it but nothing found) or a false alarm by the 64 bit Windows 2003 OS.
Nov 8 '07 #5
zissop
4
Also, as you can see on image 1, SQL Server process allocates 3,5GB of virtual memory. So is it something related to false memory indication?
Nov 8 '07 #6
kenobewan
4,871 Expert 4TB
The CPU usage is not high, between 5-50% most of the time.

The simple page does not do anything. It is just a simple Response.Write (no web.config, no global.asax).

And what about the other processes? How they affect my application? This does not sound logical.

Of course, these 5 GB per app is only virtual.Applications run smooth even they have virtually allocated 5 x5 ~ 25GB of virtual memory.

I think it is another Microsoft miracle in memory management and handling.
The logic behind monitoring other processes is to check the health of the server. If it is a MS problem why are posting your problem on a forum and not contacting them for support?
Nov 10 '07 #7

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: Arthur | last post by:
I working on some project in c++ and i want to know how to view some memory information in c++ programming, like information about RAM memory,Virtual Memory. In this specific project i need to get...
5
by: He Shiming | last post by:
Hi, I have a question regarding memory consumption of class/object member functions. Say that I have: class A { char szAbc; char* getString(); }
1
by: Teemu Keiski | last post by:
Hi, I have following type of scenario (also explained here http://blogs.aspadvice.com/joteke/archive/2005/01/10/2196.aspx ) We have problematic web server (wink2 Standard, 1.5GB of physical...
1
by: AMDRIT | last post by:
Hello once again, When working with objects, does .Net push any of it to virtual memory? I know that the OS does it, I guess what I am asking is how do I claim a portion of memory from the OS...
4
by: Vijay Anandh | last post by:
Hi All, I am new to JDOM and I am currently coding a program to build xml files using JDOM. The size of the xml file which i am goin to build will be in the order of a few GB's( 1 to 5 GB)....
5
by: Mike S | last post by:
I'm working on a .NET application that was under development by a previous developer, who is no longer working with the company. The program basically extracts records from a source database and...
2
by: dattaforit | last post by:
Hello All, I have a Window service developed using Visual Studio .Net 2003. I am using VC++ .Net for the service development. The physical and virtual memory consumption is very high. How should...
2
by: roger.dunham | last post by:
I am trying to identify whether a .NET 1.1 application that I have written has a memory leak. I thought I understood how .NET memory management worked, but it appears that there is more to it...
2
by: Jonas Maurus | last post by:
Hello everybody, I'm pondering the following problem: I want to write a Python program that receives messages via SMTP and stores them in a dict or an array. For my purposes it would be...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.