locked
WSUS pool consuming all RAM and lot of CPU RRS feed

  • Question

  • Dear support community, 

    Few days ago I started to observe that IIS pool "WSUS pool" is consuming extremely lot of RAM and CPU. 

    The behavior is following: It consumes all RAM dedicated in private memory limit (configured in IIS) and then restarts and consumes it again and again. Moreover, it also consumes a lot of CPU. 

    The strange is that this behavior was today reported in about 4 different customers SCCM environments that are completely separate. 

    Searching internet forums there are tips to set up bigger private memory limit in IIS. Well the problem is that right now even with '0' (unlimited) limit - it consumes all the RAM until the server crashes completely. For example server has 64 GB RAM and WSUS Pool consumed all remaining 59 GB of RAM and crashed. Until few days ago - only 3 GB of RAM were sufficient to be configured in WSUS pool private memory limit.

    I wonder what is the reason this behavior occurred right now in several different SCCM environments. 

    Anyone has any suggestion how to fix this?

    Thank you in advance!


    Wednesday, April 19, 2017 1:34 PM

Answers

  • Hi Marek Stuchlik,

    I would suggest doing WSUS/SCCM maintenance:

    https://blogs.technet.microsoft.com/configurationmgr/2016/01/26/the-complete-guide-to-microsoft-wsus-and-configuration-manager-sup-maintenance/

    Check if the issue will be resolved after doing that.

    Best Regards,

    Anne


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    Thursday, April 20, 2017 2:17 AM
  • Use my Cleanup script to keep WSUS at the most optimum levels.

    Have a peek at my Adamj Clean-WSUS script. It is the last WSUS Script you will ever need.

    http://community.spiceworks.com/scripts/show/2998-adamj-clean-wsus

    What it does:

    1. Remove all Drivers from the WSUS Database.
    2. Shrink your WSUSContent folder's size by declining superseded updates.
    3. Remove declined updates from the WSUS Database.
    4. Clean out all the synchronization logs that have built up over time (configurable, with the default keeping the last 14 days of logs).
    5. Compress Update Revisions.
    6. Remove Obsolete Updates.
    7. Computer Object Cleanup (configurable, with the default of deleting computer objects that have not synced within 30 days).
    8. Application Pool Memory Configuration to display the current private memory limit and easily increase it by any configurable amount.
    9. Run the Recommended SQL database Maintenance script on the actual SQL database.
    10. Run the Server Cleanup Wizard.

    It will email the report out to you or save it to a file, or both.

    Although the script is lengthy, it has been made to be super easy to setup and use. There are some prerequisites and instructions at the top of the script. After installing the prerequisites and configuring the variables for your environment, simply run:

    .\Clean-WSUS.ps1 -FirstRun

    and then

    .\Clean-WSUS.ps1 -InstallTask

    If you wish to view or increase the Application Pool Memory Configuration, you must run it with the required switch. See Get-Help .\Clean-WSUS.ps1 -Examples

    If you're having trouble, there's also a -HelpMe option that will create a log so you can send it to me for support.

    Sunday, May 14, 2017 12:38 AM

All replies

  • Hi Marek Stuchlik,

    I would suggest doing WSUS/SCCM maintenance:

    https://blogs.technet.microsoft.com/configurationmgr/2016/01/26/the-complete-guide-to-microsoft-wsus-and-configuration-manager-sup-maintenance/

    Check if the issue will be resolved after doing that.

    Best Regards,

    Anne


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    Thursday, April 20, 2017 2:17 AM
  • Hello Anne,

    Thank you for advise. I started with actions from this guide and currently performing re-indexing of database using the SQL script from the guide. Not sure how long this script can take to finish - already running for about 3 hours.. Can this be normal?

    Thursday, April 20, 2017 5:04 PM
  • Hello again,

    UPDATE: Re-indexing of database finished with success after several hours.

    WSUS cleanup wizard and other tasks from the provided maintenance guide has been completed.

    Unfortunately this did not help to solve the problem. WSUS pool continues to consume all allowed RAM limit over and over. 

    Also there are plenty of repeating errors in Event log regarding ASP.NET:

    Event code: 3001 
    Event message: The request has been aborted. 
    Event time: 4/21/2017 12:21:59 PM 
    Event time (UTC): 4/21/2017 9:21:59 AM 
    Event ID: f99b5c8cbb24487795983ca0a3dc8932 
    Event sequence: 5681 
    Event occurrence: 64 
    Event detail code: 0 
     
    Application information: 
        Application domain: /LM/W3SVC/847726374/ROOT/ClientWebService-2-131372370581245980 
        Trust level: Full 
        Application Virtual Path: /ClientWebService 
        Application Path: C:\Program Files\Update Services\WebServices\ClientWebService\ 
        Machine name: XXXXX 
     
    Process information: 
        Process ID: 39236 
        Process name: w3wp.exe 
        Account name: xxxxxxxxx
     
    Exception information: 
        Exception type: HttpException 
        Exception message: Request timed out.

     
     
    Request information: 
        Request URL: http://xxxxxxxx:8530/ClientWebService/client.asmx 
        Request path: /ClientWebService/client.asmx 
        User host address: xxxxxx 
        User:  
        Is authenticated: False 
        Authentication Type:  
        Thread account name: xxxxxx
     
    Thread information: 
        Thread ID: 236 
        Thread account name: xxxxxxxxxx
        Is impersonating: False 
        Stack trace: 
     

    Friday, April 21, 2017 12:08 PM
  • Hello again,

    After the weekend the CPU and RAM consumption on the server has been stabilized. 

    I am not sure what was the solution and what was the root cause. WSUS cleanup has been made but after that the RAM and CPU consumption remained high for whole day. Then over the weekend some MS patches were installed on the server and server has been restarted also. And today the performance is stable. 

    So I guess we will never know what really fixed the issue. But the problem seems to be gone.

    Monday, April 24, 2017 7:10 AM
  • Hi Marek Stuchlik,

    Glad to hear it and thanks for your feedback.

    What's more, the WSUS maintenance is recommended to be done frequently.

    Best Regards,

    Anne


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Monday, April 24, 2017 7:14 AM
  • Use my Cleanup script to keep WSUS at the most optimum levels.

    Have a peek at my Adamj Clean-WSUS script. It is the last WSUS Script you will ever need.

    http://community.spiceworks.com/scripts/show/2998-adamj-clean-wsus

    What it does:

    1. Remove all Drivers from the WSUS Database.
    2. Shrink your WSUSContent folder's size by declining superseded updates.
    3. Remove declined updates from the WSUS Database.
    4. Clean out all the synchronization logs that have built up over time (configurable, with the default keeping the last 14 days of logs).
    5. Compress Update Revisions.
    6. Remove Obsolete Updates.
    7. Computer Object Cleanup (configurable, with the default of deleting computer objects that have not synced within 30 days).
    8. Application Pool Memory Configuration to display the current private memory limit and easily increase it by any configurable amount.
    9. Run the Recommended SQL database Maintenance script on the actual SQL database.
    10. Run the Server Cleanup Wizard.

    It will email the report out to you or save it to a file, or both.

    Although the script is lengthy, it has been made to be super easy to setup and use. There are some prerequisites and instructions at the top of the script. After installing the prerequisites and configuring the variables for your environment, simply run:

    .\Clean-WSUS.ps1 -FirstRun

    and then

    .\Clean-WSUS.ps1 -InstallTask

    If you wish to view or increase the Application Pool Memory Configuration, you must run it with the required switch. See Get-Help .\Clean-WSUS.ps1 -Examples

    If you're having trouble, there's also a -HelpMe option that will create a log so you can send it to me for support.

    Sunday, May 14, 2017 12:38 AM
  • Thank you, that looks really interesting! Will examine
    Thursday, May 18, 2017 8:20 AM
  • Ill make this Easy.

    Application Pools/WsusPool

    Advanced Settings:

    Set the Privet Memory Limit to 0

    Restart Server

    Tuesday, May 29, 2018 5:15 PM