I’ve noticed on Windows Server 2016 with WSUS Server Role installed, that the WSUS console will often go into the “Reset Server Node” screen. I feel that I’ve noticed this more frequently on WSUS 4.0 which runs on Windows Server 2016 than ever before to be honest. I spent a little time investigating it so I could find a solution. Here’s what I found.
I found that initially you would see that IIS was requesting a recycle of the WSUSPOOL due to it reaching it’s private bytes memory limit.
IIS then attempted to comply with this request, and the default timeout is set to 90 seconds. For whatever reason however the pool did not properly recycle within that 90 seconds, so it tried again and again with the error message below being logged 3 times in total.
Finally after not being able to restart the WSUSPOOL, IIS simply gives up and leaves it in a stopped state and logs the error below.
Now I do not yet understand why it uses more than the defined limit for Private Memory bytes. It could be that there’s a memory leak within WSUS, or it could simply be that the limit defined by the development team is set too low. Below you can see within IIS Manage, under the WSUSPOOL below Application Pools, the setting is set to 1.8GB of RAM. Given my WSUS server has 8GB RAM, I figure we can allocate more to it should it need it.
I’ve now changed this setting for Private Memory Limit to 6GB and restarted the application pool. Since I’ve made this change, it seems to have settled down a lot and does not appear to crash as often.
Give it a go yourself and see if you see similar results.