Increase memory for a stable WSUS work

In my recent posts, I described the problems with the inaccessible WSUS server. The first problem was related to the stopped WSUS database and I quickly solved it.

The second problem was more complex and I spent an hour narrowing it down to the stopped WSUS application pool in IIS. I found a temporary solution – to manually start the application pool every time the service crashes.

Additionally, there was no clear pattern when the service will crash. It can work for days or just a few hours. Therefore, I needed a permanent solution.

During my investigation on the Internet, I only found common advice – “don’t eat yellow, snow”, “increase the available memory for the WSUS application pool”. Nothing useful; as unfortunately, there is no clear advice how much memory should be assigned to this pool.

 

Increase the maximum memory value

The WSUS server was installed with the default parameters. Therefore, it’s expected that this should work fine. Alas, through my search on the Internet, I discovered that I need to fine tune it.

We need to open the IIS console and locate the Application pools branch. You can find the detailed information in this post.

03 - App pool

Find the WSUS pool and choose the Advanced settings. Scroll down to the Recycling section.

clip_image002

In this section, locate the parameter named Private Memory Limit (KB). As you can see on this screenshot, the default value is 1,258,015 KB or about 1.2 GB. We need to increase this value.

clip_image003

I entered 4GB or 4,096,000 KB. The entire server has 16 GB RAM. As there is no accurate information about the right value, I made a best guess for the first try.

I don’t like the idea to put 0 here, as the unlimited pool can crash entire IIS or even Windows server.

Click on [ OK ] and close this dialog. Restart the pool to apply the new value.

 

Checking this pool

We need to monitor this pool during its work. We will open the Task Manager. As this is a part of the IIS server, we need to check for the process named wswp.exe.

04 - w3wp process memory

However, on this screenshot are four processes named w3wp.exe. How do I know that I will choose the right one? Elementary, my dear Watson.

Please, scroll back to the screenshot with the application pools list and check the column Identity. Every process on the computer must to be run under a specific account and with its privileges. Only the WSUS pool uses the Network Service account.

I start to monitor the used memory for this process. It starts with about 2,700,000 K and raised to 3,300,000 K, then it dropped to 2,700,000 K. I saw this behavior a few times in row. It looks like I solved the problem.

05 - w3wp releasing RAM periodically

 

The WSUS service still works

I continued to monitor this service during the next few days. Every time the service was available. Additionally, all computers on the network can now pull updates without any issue.

I tried and succeeded with the value of 4,096,000 KB. You can adjust this value to a higher or lower value, depending on the specific values on your server. Raise this value until the WSUS server can stay operational.

This value is only the maximum amount that this pool can acquire. The memory is used dynamically and the real usage can be lower.

In case this pool requires more RAM and that the available memory in the server is low, consider expanding the server’s RAM. If the server doesn’t have enough memory, it will run slowly, which will affect its usability and overall user’s experience.

Stay tuned.

2 thoughts on “Increase memory for a stable WSUS work

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.