由于WSUS服务器负载过大,导致补丁服务异常,具体表现为wsuspool停止,所有Windows服务器无法更新补丁。可以通过修改wsuspool专用内存限制解决问题。

现象

所有客户端均无法更新补丁,报错代码为80244022。

Wsuspool停止问题_wsus

所有客户端均无法更新补丁,大概率是wsus服务器问题,到wsus服务器无法打开补丁更新服务控制台,报错“连接错误”

Wsuspool停止问题_wsus_02

原因和分析

wsus服务器日志有关于WsusPool的报错,为wsuspool达到了内存限制,服务被停止,日志信息如下:

日志名称:          System
来源:            Microsoft-Windows-WAS
日期:            2021/1/9 10:31:08
事件         5117
任务类别:          无
级别:            信息
关键字:           经典
用户:            暂缺
计算机:           win2012
描述:
为应用程序池“WsusPool”提供服务的工作进程请求了回收,因为该工作进程已达到其专有字节内存限制。
日志名称:          System
来源:            Microsoft-Windows-WAS
日期:            2021/1/9 10:32:08
事件         5002
任务类别:          无
级别:            错误
关键字:           经典
用户:            暂缺
计算机:           win2012
描述:
应用程序池“WsusPool”将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。

WsusPool是iis的应用程序池里的工作进程,到iis控制查看,WsusPool确实处于停止状态

Wsuspool停止问题_wsus_03

解决方法

WsusPool停止是因为这个进程内存占用达到限制值,导致被停止。当需要下载的补丁太多,或者更新补丁的客户端请求过多时,可能会导致WsusPool占用高,导致服务被停止。解决办法

1、提高WsusPool内存限制值,在WsusPool页面,高级设置,可以找到“专用内存限制”,手动设置较大的值,或者设为0代表无限制,但是需要wsus服务器有足够的内存,否则会导致服务器内存不足引发其他问题。

Wsuspool停止问题_wsus_04

2、增加多台wsus服务器,分摊负载。一般建议采用上下游模式,比如一台上游服务器用于从微软下载补丁(可放于dmz区),多台下游对不同环境或站点的客户端提供服务。