locked
IIS 2gb mark RRS feed

  • Question

  • User-2033622387 posted

    Windows Server 2003 R2
    IIS 6.0
    4cpu
    8gb memory
    I am currently running with 6 application pools.

    With this setup it seems that all of my application pools worker processes are running on one cpu with a limit of 2gb ram total. When I look in process explorer it reports the one cpu running under 10% utilization and the other with less then 1%. 

    The thing that has me writing this post is that even though I have 8gb memory in this machine it never runs over 2gb. Everything seems to be running in that 2gb of ram and I am constantly running in an outofmemory stat in my asp.net environment.

    How can I fix this?  Is this how it is suppose to work?  I have researched and what I have found is each process should be able to use up to 2gb of ram without the /3gb switch.

    thank you
     

    Wednesday, March 12, 2008 5:40 PM

Answers

All replies

  • User1073881637 posted

    I'm assuming 32 bit OS is being used.  By default, the worker processes can use up to 800 MB of RAM.  If the /3GB switch is enabled, you get 1.8 GB per application pool.  Here are some articles that might help.

    http://blogs.msdn.com/tess/archive/2007/08/13/asp-net-memory-investigation.aspx

    http://blogs.msdn.com/tess/archive/2006/02/02/asp-net-memory-leak-case-study-sessions-sessions-sessions.aspx

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Wednesday, March 12, 2008 9:02 PM
  • User-2033622387 posted

     Yes it is a 32bit OS.

    Thank you for your reply and thank you for the articles. I have read both of them and they are debugging memory usage and I do not believe my problems lays there.

    What you are telling me is how I was thinking it should be running with each worker process having its own memory allocation but I am showing that all the worker processes are using the same 2gb of memory and not the full 8gb. If each application pool will use up to 800mb and I have 6 application pools that would 4.8gb of memory used. The system is only showing that 2gb is being used.  I have 2 application pools running about 300mb each with the rest running at 100mb or smaller.  All 6 of my application pools and the system is running under 2gb. It seems to be limited to only being able to use that 2gb and not the full 8gb of memory I have in the machine.

    Is there a configuration setting that I am missing?  What do I need to check?

    Wednesday, March 12, 2008 10:15 PM
  • User1073881637 posted

    What version of Windows are you running Standard only supports 4 GB of RAM.  Assuming you are running Enterprise, what is in your commit charge listed in task manager. 

    Wednesday, March 12, 2008 10:29 PM
  • User989702501 posted

    How many app pool you got ? or w3wp.exe you see in task manager? I would agree each wp can max up to 2gb if the wp really need that much of ram.

    Wednesday, March 12, 2008 11:18 PM
  • User-2033622387 posted

     It is Enterprise.

    Commit charge is:
    total: 1888112
    Limit: 10282776
    Peak: 3208808

    Currently I have 7 w3wp.exe processes running.  With the largest ones being 393,500K, 223.676K, and 139.552K.
     

    Thursday, March 13, 2008 9:51 AM
  • User989702501 posted

    Well, so how do you know it won't hit 2gb mark ? wp process allocate memory when it needed, with its cache/pooling algorithm etc. Unless your are running very complex app with lot of app / sessions variable in memory or heck an leak app, you will hardly see gigabytes usage of worker processes.

    Monday, March 17, 2008 2:19 AM
  • User-2033622387 posted

    When I look at Task Manager and see that I am using 2gb out of 8gb for the entire mahcine is the first clue and the second is when I look at the worker process in Process Explorer and see that it is running with the event \KernelObjects\LowMemoryCondition. This is not just one worker process I am looking at but 7 worker processes that are all running under this condition.

     Just observing it seems to me that the 8gb of memory is divided between each processor and since we have 4cpu that would be 2gb memory for each cpu. Now that I found out IIS and the .net worker processes are stuck using just one cpu that cpu is taking up all of the alloted memory that is allocated to it which is 2gb.

    I do not know this for sure and that is why I am asking this forum for advice and/or help in solving this. 

    Thanks, 

    Monday, March 17, 2008 1:15 PM
  • User989702501 posted

    If you are using /PAE and OS is seeing 8gb. then I doubt you have to worry about the w3wp.exe usage. if it need more memory, it will allocate accordingly..

    Tuesday, March 18, 2008 2:09 AM
  • User-2033622387 posted

     Well it isnt allocating the memory accordingly and I do have a problem. Instead of discounting that I have a problem can someone please just help me instead of just telling me their is no problem when clearly there is.

    Wednesday, March 19, 2008 4:37 PM
  • User989702501 posted
    what is your problem? why not you have a simple page that read 100 mb of test data, don't destroy the object, then perform an endless loop and tell us how much ram that w3wp.exe is using.
    Friday, March 21, 2008 12:24 AM