none
W3WP.EXE Process Consuming Significant Memory

    Question

  • I recently installed WSUS 3.0 SP2 on a Windows 2008 R2 machine. Since doing so, I've noticed that the W3WP.EXE process, which was installed as part of the WSUS installation, is consuming a large amount of memory. Even after a reboot, the process grew in size to 430,220K within several minutes. I've seen it as high as 700,000K+ after about a day of running the server. The server is really sluggish as a result.

    This seems really high to me. Is this normal, or is there some known issue with this process and WSUS?

    Thanks.
    Wednesday, February 10, 2010 8:20 PM

Answers

  • Any additional help with this? I tried uninstalling/reinstalling WSUS, and that didn't help the situation. Currently consuming 528,000K+ of RAM. I'd really appreciate further assistance with this.

    Thanks.

    To be honest... unless that RAM utilization is adversely affecting other applications on the server, I really wouldn't lose a lot of sleep over it. As I noted in my original reply, it's highly unlikely that the memory utilization is causing the sluggishness, unless somehow the server is using 100% of available physical memory and spending a lot of time paging to disk. But if that were true, it's also a practical reality that 500mb of RAM, more or less, isn't going to make much difference either way if the server is that tight on memory availability.
    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Wednesday, February 17, 2010 8:34 PM
    Moderator

All replies

  • I recently installed WSUS 3.0 SP2 on a Windows 2008 R2 machine. Since doing so, I've noticed that the W3WP.EXE process, which was installed as part of the WSUS installation, is consuming a large amount of memory. Even after a reboot, the process grew in size to 430,220K within several minutes. I've seen it as high as 700,000K+ after about a day of running the server. The server is really sluggish as a result.

    This seems really high to me. Is this normal, or is there some known issue with this process and WSUS?

    Thanks.

    Memory utilization on a 64-bit 'R2' server is not likely an indication of the cause of "sluggishness" on the server. Typically "sluggishness" would be indicated by high CPU utilization and/or high Disk I/O utilization.

    As for the W3WP.exe process using a half-gig of RAM for the process on a 64-bit machine, that's not unlikely at all. Consider that (generally speaking), most current apps architected as 32-bit apps and ported to 64-bit environments, will use twice as much memory space for the process, because all memory references that previously used x amount of memory, will now use 2x memory. (e.g. all 32-bit integers are now 64-bit integers). On my *idle* R2 WSUS x64 server used for training and research, the w3wp.exe process is using 80-100mb memory doing nothing at all.


    Relevant questions to the issue are these:
    How many clients are assigned to this WSUS server?
    What is the detection frequency for those clients?
    How many downstream servers are assigned to this WSUS server?
    What is the synchronization interval for those clients?
    How many WSUS consoles are connected to the WSUS server?

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Thursday, February 11, 2010 8:15 PM
    Moderator
  • Maybe you could uninstall and re-install again ? ... Don't forget to boot between all (un)installs. Another option might be a registry cleaner.
    Information is provided "AS IS" without any guaranty nor liability and, in no lesser extent, with devotion and care.
    Thursday, February 11, 2010 8:26 PM
  • Thanks for your response. Here are the answers to your questions:

    1) Although eventually about 1,000 computers will be reporting to it, there are currently only 18 computers doing so.

    2) Detection frequency is set to default, so I believe that is every 22 hours

    3) No downstream servers

    4) N/A

    5) The only console connected is the local one on the server

    Currently 426,856K is allocated to the process, and the server is essentially doing "nothing" right now.

    Thanks again.
    Thursday, February 11, 2010 9:51 PM
  • Assuming I was to choose this route, would I uninstall everything, including all the dependencies such as IIS? Also, would I have to start from scratch, creating all of my computer groups, settings, as well as re-downloading all of my updates?

    Thanks.
    Thursday, February 11, 2010 9:53 PM
  • Thanks for your response. Here are the answers to your questions:

    1) Although eventually about 1,000 computers will be reporting to it, there are currently only 18 computers doing so.

    2) Detection frequency is set to default, so I believe that is every 22 hours

    3) No downstream servers

    4) N/A

    5) The only console connected is the local one on the server

    Currently 426,856K is allocated to the process, and the server is essentially doing "nothing" right now.


    Then.. yes.. I would agree this seems a bit high for memory utilization.

    Two more questions:

    1. Are any other websites/webservices running on this machine other than WSUS?

    2. Did you install IIS7 exactly as documented in the WSUS Deployment Guide?

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Thursday, February 11, 2010 11:16 PM
    Moderator
  • There are no other websites/webservices running on the machine. We are also running Kaspersky Administration Kit on this server, but it does not utilize IIS (had it up and running prior to even installing WSUS).

    Since this is Windows Server 2008 R2, WSUS is a Role that I can add to the server. When doing this, it handles all the behind scenes of installing IIS and other dependencies. I would hope that adding it as a role would install IIS 7 correctly.

    Thanks.
    Friday, February 12, 2010 5:23 PM
  • Any additional help with this? I tried uninstalling/reinstalling WSUS, and that didn't help the situation. Currently consuming 528,000K+ of RAM. I'd really appreciate further assistance with this.

    Thanks.
    Wednesday, February 17, 2010 5:08 AM
  • Any additional help with this? I tried uninstalling/reinstalling WSUS, and that didn't help the situation. Currently consuming 528,000K+ of RAM. I'd really appreciate further assistance with this.

    Thanks.

    To be honest... unless that RAM utilization is adversely affecting other applications on the server, I really wouldn't lose a lot of sleep over it. As I noted in my original reply, it's highly unlikely that the memory utilization is causing the sluggishness, unless somehow the server is using 100% of available physical memory and spending a lot of time paging to disk. But if that were true, it's also a practical reality that 500mb of RAM, more or less, isn't going to make much difference either way if the server is that tight on memory availability.
    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Wednesday, February 17, 2010 8:34 PM
    Moderator
  • Well this server is running as a VM in our VMware infrastructure, so memory utilization is a concern. We're having to allocate more memory to this server than we'd like. Today during some update downloads, it was all the way up to 945,000K. After the downloads were done, it stayed at that utilization. That doesn't seem right to me.
    Thursday, February 18, 2010 5:01 PM



  • I recently installed WSUS 3.0 SP2 on a Windows 2008 R2 machine. Since doing so, I've noticed that the W3WP.EXE process, which was installed as part of the WSUS installation, is consuming a large amount of memory. Even after a reboot, the process grew in size to 430,220K within several minutes. I've seen it as high as 700,000K+ after about a day of running the server. The server is really sluggish as a result.

    This seems really high to me. Is this normal, or is there some known issue with this process and WSUS?

    Thanks.

    Memory utilization on a 64-bit 'R2' server is not likely an indication of the cause of "sluggishness" on the server. Typically "sluggishness" would be indicated by high CPU utilization and/or high Disk I/O utilization.

    As for the W3WP.exe process using a half-gig of RAM for the process on a 64-bit machine, that's not unlikely at all. Consider that (generally speaking), most current apps architected as 32-bit apps and ported to 64-bit environments, will use twice as much memory space for the process, because all memory references that previously used x amount of memory, will now use 2x memory. (e.g. all 32-bit integers are now 64-bit integers). On my *idle* R2 WSUS x64 server used for training and research, the w3wp.exe process is using 80-100mb memory doing nothing at all.


    Relevant questions to the issue are these:
    How many clients are assigned to this WSUS server?
    What is the detection frequency for those clients?
    How many downstream servers are assigned to this WSUS server?
    What is the synchronization interval for those clients?
    How many WSUS consoles are connected to the WSUS server?

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com

    I have two Windows 2008 R2 servers up and running .Net apps. As time goes by (2 weeks), we have seen the Memory usages go up as high as 5Gigs. The Developers are really nervous with this kind of usage. How do I explain it to them that this is normal for the 64 bit platform?   This application was 32 bit and we upgraded from Windows 2003 32 bit to Windows 2008 R2 64-bit.
    Monday, March 22, 2010 7:09 PM
  • Are you downloading updates in every single language available? And every single product? If so, the database might be working hard...which could lead to high memory usage....

    The recommended option is to only download the languages you need (which is not the default if memory serves me correctly), and only for the products you need

    Good luck!

    Tuesday, March 23, 2010 5:48 AM
  • No, these machines are running web applications.
    Tuesday, March 23, 2010 12:30 PM
  • As time goes by (2 weeks), we have seen the Memory usages go up as high as 5Gigs. The Developers are really nervous with this kind of usage. How do I explain it to them that this is normal for the 64 bit platform?  

    Well.... at the risk of sounding arrogant or snide ... and being a developer myself ... you get the "Developers" the heck out of the System Managrment process on Production Servers.

    There's no reason I can imagine why a developer should be involved in a system performance question on a WSUS production server.

    Then, unless they're experienced 64-bit developers, you might also kindly suggest to them to go study some architecture fundamentals on the differences between developing for 32-bit and 64-bit architectures, including how memory is mapped when a 32-bit app is merely 'ported' to a 64-bit architecuture (Not unlike how 16-bit DOS apps behaved when 'ported' to the 80386.)

    Also, if those servers are running other .NET apps, then perhaps the memory utilization has nothing at all to do with WSUS and is simply flaws in the code produced by your developers. It would be useful to setup a server without WSUS and those apps, and see if the memory utilization can be reproduced on a non-WSUS server. If so, then you've further isolated the cause.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2010)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Tuesday, March 23, 2010 8:45 PM
    Moderator
  • We have a virtual environment on our server as well and after we uninstalled and reinstalled a different version of SQL Server, the W3WP.exe Network Service consuming all the CPU.

     

    Wednesday, July 13, 2011 2:37 PM
  • We have a virtual environment on our server as well and after we uninstalled and reinstalled a different version of SQL Server, the W3WP.exe Network Service consuming all the CPU.

    Which is an entirely different question and issue.

    The original post was about Memory Utilization. Memory Utilization in the <1GB range on a 64-bit server which is really almost a non-issue. Since most 64-bit servers should be allocated at least 4GB memory anyway, we're talking about 25% memory utilization on the machine (doesn't matter whether it's virtual or not).

    In the instant case, it seems the issue was overextending the available memory on the HOST because this machine was using a few hundred more MB of RAM than though to to be ideal -- and an actual enumeration of ALl webapps on the VM was never actually posted.

    If you're getting high CPU utilization because you installed a different version of SQL Server, then the first step is to ensure the 'new' version of SQL Server is fully patched to the latest Service Pack level and Cumulative Update level. Then, once that is done, the next step is to evaluate the actual resources available on the machine versus the actual system resources required to run WSUS.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Principal/CTO, Onsite Technology Solutions, Houston, Texas
    Microsoft MVP - Software Distribution (2005-2011)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    My Blog: http://onsitechsolutions.spaces.live.com
    Thursday, July 14, 2011 7:35 PM
    Moderator
  • We are having the same issue on our new server Windows 2008 R2. we have 4gb memory and it is using 90% (1.36gb) of the service just for w3wp.exe. the other huge one is the sql server service at just under 1gb.

    We need to get the memory usage now because this is a dedicated web server and is casuing majoy time-out issues, i have checked on the sql server sp_lock and found nothing locking on the system and also checked sp_who2 to see if a connection was using a huge resource, which it was not.

    please advise if you could help.

    kind regards

    Sean

    Monday, April 23, 2012 11:00 AM
  • we have 4gb memory and it is using 90% (1.36gb) of the service just for w3wp.exe.
    I'm not understanding your arithmetic... 1.4GB is hardly 90% of available space.
    the other huge one is the sql server service at just under 1gb.
    As already noted in this thread, SQL Server will use ALL AVAILABLE memory, so 90% memory utilization on a machine with a database engine installed is *NORMAL*!!!
    We need to get the memory usage now because this is a dedicated web server and is casuing majoy time-out issues
    Then your first objective should be to get the database engine off of that 'dedicated' web server.

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    Microsoft MVP - Software Distribution (2005-2012)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin

    Tuesday, April 24, 2012 1:08 AM
    Moderator
  • First of all, sorry if I seem too simplistic but...

    Have you first tried to limit the memory usage for <WsusPool> application pool? You can do it through IIS Mgmt Console. Using that option, the thread is recycled when it consumes the specified amount of memory.

    WSUS can be installed in serveral different ways, in particular regarding the storage strategy (WSUS with Windows Internal Database or w/ SQL Server). If you decide to install everything in the same server and use a default installation, then Windows Internal Database (something like a named-instance of SQL Server Express) is installed. With that default installation, SQL Server (named <your-hostname>\MICROSOFT##SSEE) and WsusPool in IIS might run into race conditions for the memory, since both of them try to grab as much memory as they can (by default). If, besides, your WSUS server is a VM with limited memory, then it could be a good idea to both limit the amount of memory that SQL Server and WsusPool can use.

    In my case I am also running WSUS on a single VM with 1.5Gb of RAM and I have set a maximum of 640Mb for SQL Server and a maximum of 128Mb for WsusPool. That makes 768Mb of RAM only for those 2 processes and leaves other 768Mb for the rest of OS services and some free RAM for not swapping too much in case of memory requirements for other processes/threads. In my case WsusPool was originally installed with a default max value of 613Mb which was obviously too high for the amount of memory the server had.

    Of course, you should do your own calculations and tests to adjusts these numbers to your own scenario.

    Regards.


    Monday, September 10, 2012 10:50 AM