Sometimes you find your WSUS server keeps crashing over and over again. WSUS is unavailable and/or the WSUS management console hangs. When you start to investigate as to why Windows Server Update Services crashes, you’ll notice the following error message being logged in the HTTPErr log files:
2017-05-08 05:03:53 203.0.113.144 56433 203.0.113.4 80 HTTP/1.1 POST /SimpleAuthWebService/SimpleAuth.asmx 503 707060612 AppOffline WsusPool
In the Eventlog you might find errors indicating that the WSUS administration console is unable to connect to WSUS Server via remote API:
The WSUS administration console was unable to connect to the WSUS Server via the remote API.
Verify that the Update Services service, IIS and SQL are running on the server. If the problem persists, try restarting IIS, SQL, and the Update Services Service.
Sometimes clients checking for Windows Updates would quickly error out with a code
0x80244021, which indicates the inability to reach WSUS.
To improve WSUS availability, you need to increase IIS Private Memory Limit. The default limit is set to 1843200KB. And when an IIS worker process uses more than 2GB, WSUS crashes and the problem occurs.
Change Private Memory Limit (KB) to a higher number that fits your server specifications or simply
0 , which means no limit, instead of the hard-coded 1843200.
Follow this path to find the setting:
Internet Information Services (IIS) Manager → Server → Application Pools → Select “WSUSPool” → Actions Advanced → Recycling → change “Private Memory Limit (KB)“.
This’ll improve WSUS availability.
A second approach may be to set
Enable 32-Bit Applications to False in the Application Pools Advanced Settings. This’ll disable the 32-bit mode for WSUSPool, and forces it to run 64-bit. Be sure to have an ISAPI Filter set for 64-bit Framework as well!
- Open IIS Manager on the WSUS server.
- Browse to the website being used by WSUS. Depending on the WSUS configuration, this will typically be either the Default Web Site or a site named WSUS Administration.
- Double-click ISAPI Filters.
- Right-click the entry that corresponds to ASP.Net v4.0 (the specific version number may vary) and select Edit.
- In the executable path, replace the name of the Framework folder with Framework64 and click OK. Do not change anything else in the file path.
- Restart the website, then verify that the WSUS Administration console is able to connect to the WSUS server.
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer("wsus-server",$False) $wsus.Version
Did you find this post interesting? Did it help you solve a problem? If I’ve helped you out and you want to thank me, then why not buy me a coffee?
A small donation of only $5 helps out a lot in the development, research and hosting of this blog.
Thank you for your support.