Windows 更新不起作用且消耗了 100% 的 CPU(Win7 SP1)

Windows 更新不起作用且消耗了 100% 的 CPU(Win7 SP1)

我观察到 Windows 更新 (Win7 SP1) 出现了奇怪的行为。进程 svchost 占用了我虚拟机 (VirtualBox) 的整个核心,却什么也没做(即没有网络流量,文件夹C:\Windows\SoftwareDistribution大小保持不变,文件数量也保持不变)。此外,该进程有时会消耗大量内存 (> 1 GB)。我还注意到,有时文件夹的大小SoftwareDistribution会在一段时间内增加,之后什么也没发生,svchost 继续占用整个核心。

我知道问题出在 Windows 更新上,因为我已经跟踪(使用资源监视器)哪些服务与上述行为有关。

下图显示了我所面临的情况:

在此处输入图片描述

下图显示了有关 svchost 的详细信息:

在此处输入图片描述

如果我尝试执行更新,什么也不会发生。Windows 更新没有进展。参见下图:

在此处输入图片描述

我让这台机器尝试更新 4 个小时。在此期间,CPU 消耗仍然很高(如上所述),并且没有安装任何更新。

我的问题如下:

为什么 Windows 更新无法工作,而且仍然占用了我处理器的整个核心却无所事事?

相关问题:

svchost.exe 内存使用率过高 - wuauserv

答案1

使固定

微软发布了Windows Update 客户端更新这是2016 年 7 月更新汇总修复长Windows 更新扫描时挂起

此更新包含对 Windows 7 Service Pack 1 (SP1) 中的 Windows 更新客户端的一些改进。其中包括以下内容:

  • 一项优化,解决了某些计算机上报告的更新扫描时间过长的问题。
  1. 下载:

  2. 停止 Windows 更新服务。这加快 MSU 更新的设置. 这是可以做到的从命令行, 或者从服务管理器窗口

  3. 尝试下载的更新,看看它是否能加快更新的安装速度。

为了能够安装更新,您首先需要安装2015 年 4 月 Windows 7 和 Windows Server 2008 R2 服务堆栈更新更新(再次尝试安装 MSU 之前停止 WU 服务)。

下载(2015 年 4 月服务堆栈更新):

32 位

64 位

解决方法 1

如果这仍然无法帮助搜索新的更新,请使用WSUS 脱机获取所有更新。

答案2

尝试解决这个问题一天之后,我创建了其他虚拟机来检查该问题是否会再次发生。

不幸的是,问题再次发生!之后我和一位朋友讨论了这个问题,他建议我禁用 Windows 网络接口的 IPv6。我照做了,观察到两种行为:

  1. 在新的虚拟机上,当我禁用 IPv6 时,CPU 的消耗几乎立即下降,并且 Windows 更新按预期工作。

  2. 在另一台虚拟机上,禁用 IPv6 后 CPU 消耗没有下降。观察到这一点后,我重新启动了 Windows,但 CPU 消耗仍然很高。然而,大约 30 分钟后,CPU 消耗下降,一切正常。

禁用 IPv6 后,两个 Windows 均成功更新。

值得注意的是,我可以重现此行为。在禁用 IPv6 之前,我有虚拟机的副本。

答案3

另一个可能有帮助的是Windows 更新疑难解答- 它是一个独立的应用程序,可以诊断 Windows 更新和后台智能传输服务 (BITS) 的问题。

答案4

为我解决这个问题的是KB2889748

在基于 Windows 的计算机上安装 Windows Management Framework 3.0 后,Svchost.exe 进程的内存使用率过高

相关内容