由于WSUS服务器负载过大,导致补丁服务异常,具体表现为wsuspool停止,所有Windows服务器无法更新补丁。可以通过修改wsuspool专用内存限制解决问题。
现象
所有客户端均无法更新补丁,报错代码为80244022。
所有客户端均无法更新补丁,大概率是wsus服务器问题,到wsus服务器无法打开补丁更新服务控制台,报错“连接错误”
原因和分析
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停止是因为这个进程内存占用达到限制值,导致被停止。当需要下载的补丁太多,或者更新补丁的客户端请求过多时,可能会导致WsusPool占用高,导致服务被停止。解决办法
1、提高WsusPool内存限制值,在WsusPool页面,高级设置,可以找到“专用内存限制”,手动设置较大的值,或者设为0代表无限制,但是需要wsus服务器有足够的内存,否则会导致服务器内存不足引发其他问题。
2、增加多台wsus服务器,分摊负载。一般建议采用上下游模式,比如一台上游服务器用于从微软下载补丁(可放于dmz区),多台下游对不同环境或站点的客户端提供服务。