当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

作者:精品下载站 日期:2024-12-14 22:51:58 浏览:15 分类:玩电脑

修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题


wuauserv 服务是一项标准 Windows 更新服务,用于扫描计算机、从 Windows 更新或本地 WSUS 服务器搜索、下载和安装新的安全补丁和更新。在某些情况下,wuauserv 服务可能无法正常工作,导致 CPU 和 RAM 使用率过高。由于 wuauserv 运行在容器进程 svchost.exe 内,因此它会向用户查找 svchost 进程在 Windows 设备上使用过多的 RAM 和 CPU 资源。在本文中,我们将向您展示如何解决 Windows 7 和 Windows 10 中 wuauserv 进程占用内存和 CPU 高的问题。

Windows 7 中的 Wuauserv 服务使用高达 50% 的 CPU 和内存

一些用户开始抱怨运行 Windows 7 的计算机性能不佳。问题表现为:每天在同一时间(每个用户在自己的时间)计算机开始变慢。任务管理器显示进程 svchost.exe 使用高达 1.2-2 GB 的内存,并且一个核心的 CPU 利用率高达 100%。结果,计算机在 30-60 分钟内无法使用:它变得非常慢并且不断挂起。

从本地 SCCM 服务器(用于管理客户端上的 Microsoft 更新)接收更新时,Windows 7 SP1 x86 和 x64 客户端上出现问题。在客户端上运行任务管理器,并在进程选项卡中按内存或CPU使用率对正在运行的进程进行排序。您可以看到当前进程 svchost.exe 使用了 11% CPU 和 1.2 GB 内存。事实上,svchost.exe是一个容器进程,其中运行着其他程序和系统服务线程。使用任务管理器,您将无法了解哪个线程(服务)导致系统负载过高。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

有关进程及其线程的更多详细信息可以使用 Process Explorer 实用程序获得。

运行 procexp.exe 并找到使用过多内存和/或 CPU 的问题进程 svchost.exe

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

打开其属性并转到线程选项卡。在这里您可以清楚地看到,wuauserv(Windows Update)线程消耗了svchost.exe进程内的大部分CPU和内存(wuauserv服务扫描系统和更新服务器以获取更新)。由于某些代码问题,wuauserv 开始泄漏并消耗高达 1.5-2 GB(进程可用的最大大小)的所有可用内存,并开始主动使用分页文件。系统变慢。

有趣的是,这个问题更常出现在拥有 2 GB RAM 的客户端上。如果 PC 的内存为 4 GB 或更高,则问题对用户来说并不那么明显,因为 wuauserv 中的内存泄漏不会超过 2 GB。

如果您使用 services.msc 控制台停止 wuauserv,Windows 中的高内存和 CPU 负载将大幅减少。并且 svchost.exe 开始仅使用 180-200 MB 内存。

重要。这并不意味着您必须停止 wuauserv 并将其保持禁用状态,因为系统将停止接收安全更新并面临黑客攻击的风险。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

首先,我们尝试按照“如何重置 Windows Update 代理配置”一文中的说明重置 Windows Update 代理的设置。问题解决了,几天没出现,但后来又出现了。看来本地缓存和更新数据库的大小达到了某种限制,wuauserv 再次开始使用内存高(泄漏)。

我们尝试了很多其他方法,但只有安装以下 Windows Update 代理补丁确实有帮助:

  • https://support.microsoft.com/en-us/kb/3050265(2015年6月起Windows Update代理更新);

  • https://support.microsoft.com/en-us/kb/3065987(2015年7月起Windows Update代理更新);

  • https://support.microsoft.com/en-us/kb/3102810(Windows 7/2008 R2 的补丁,可解决使用 WSUS 安装更新期间 CPU 和内存负载过高的问题,从 2015 年 11 月开始)。

提示。我们并未在所有装有 Windows 7 的计算机上安装补丁,而仅在用户报告了类似问题的计算机上安装补丁。

安装更新后,wuauserv 进程的内存使用量已减少至 200 MB,并且更新扫描过程花费的时间也少得多。

Wuauserv:Windows 10 上的 CPU 和内存使用率较高

Windows Update 服务使处理器负载过高并使用过多内存时出现的问题,在不同的 Windows 10 版本中也会出现。
打开任务管理器,找到消耗过多内存或 CPU 资源的进程svchost.exe。右键单击它并选择“转到服务”。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

验证 wuauserv 服务是否作为此 svchost.exe 进程(Windows 更新服务)的一部分运行。确保 wuauserv(Windows 更新服务)作为 svchost.exe 进程的一部分运行。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

由于任务管理器不允许您确定 svchost 进程内运行的哪些系统服务导致计算机负载较高,因此您需要使用 Process Explorer(如上所述)。确保高 CPU 和/或内存负载是由 wuauserv 服务引起的(在我们的示例中,这是 C:\WINDOWS\system32\wuaueng.dll 库)。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

与上述 Windows 7 更新服务内存泄漏的情况不同,Windows 10 没有通用补丁可以解决该问题。下面我们列出了减少 Windows 更新服务内存和 CPU 使用率应采取的基本步骤。

等待 Windows 更新安装

如果 Windows Update 服务当前正在扫描您的计算机或安装更新,那么计算机的高负载应该不会让您感到惊讶。尝试等待(1-2小时,具体取决于计算机的性能)并等待wuauserv完成下载和安装更新。

运行 Windows 更新疑难解答

尝试使用集成的Windows Update 疑难解答诊断 Windows Update Service 10。转到设置 -> 更新和安全 -> 疑难解答。选择Windows更新(解决阻止您更新Windows的问题)->运行疑难解答

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

该实用程序将检查服务的状态并尝试修复发现的问题。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

清除 SoftwareDistribution 和 catroot2 文件夹

尝试重置 SoftwareDistribution 和 catroot2 文件夹。

  • C:\Windows\SoftwareDistribution文件夹存放临时的Windows Update服务文件和下载的更新文件;

  • %windir%\System3

让我们尝试使用以下脚本清理它们(将代码保存到扩展名为 * .bat 的文本文件中并以管理员身份运行):

attrib -h -r -s %windir%\system32\catroot2
attrib -h -r -s %windir%\system32\catroot2\*.*
net stop wuauserv
net stop CryptSvc
net stop BITS
ren %windir%\system32\catroot2 catroot2.old
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren "%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader" downloader.old
net Start BITS
net start CryptSvc
net start wuauserv

检查并修复Windows系统文件和组件存储

使用以下命令检查并修复 Windows 映像的系统文件:

sfc /scannow

DISM /Online /Cleanup-Image /RestoreHealth

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

检查您的计算机是否有病毒

使用救援磁盘(卡巴斯基救援磁盘或 Avira 救援系统)在离线模式下检查 Windows 是否存在病毒。

更新您的 Windows 10

  1. 通过安装当前版本来更新您的 Windows 10 版本;

  2. 从 Microsoft 更新目录 (https://www.catalog.update.microsoft.com/Home.aspx) 手动下载并安装适用于您的 Windows 版本的最新累积更新(Microsoft 每月都会修复 bug 和各种 Windows 错误,并将修复添加到累积更新包中)。

关闭 Windows 更新交付优化

转到设置 -> 更新和安全 -> Windows 更新 -> 高级选项 -> 交付优化。禁用选项“允许从其他电脑下载”并重新启动您的设备。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

卸载最新的 Widows 更新

如果在安装新的 Windows 更新后立即出现 wuauserv 服务的 CPU 和内存利用率高的问题,请尝试一一卸载此更新(控制面板 -> 程序和功能 -> 查看已安装的更新)。按安装日期对更新进行排序,右键单击更新,然后选择卸载

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

禁用 Windows 更新服务

我从不建议您禁用 Windows Update 服务,因为您将停止接收安全更新并使您的计算机面临黑客攻击或感染的风险。当其他方法恢复系统正常运行无济于事时,禁用更新服务可以作为临时步骤。

打开服务管理控制台(services.msc),找到Windows Update服务,将其停止并将启动类型更改为禁用。保存更改并重新启动计算机。

[玩转系统] 修复 Svchost.exe (wuauserv) 的高 CPU 使用率和内存泄漏问题

在下个月的第二个星期二,请务必手动下载并安装适用于您的 Windows 10 版本的新累积更新。启用 wuauserv 服务。也许您的问题将在新的更新中得到解决。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯