我注意到在多台 Windows 7 机器上,Windows 更新和 Windows 驱动程序搜索可能会导致 svchost.exe 消耗过多的 RAM。
对于 Windows 更新,似乎所有更新都会下载到 RAM 中,缓存起来,然后您可以在机器运行时安装它们,并在重新启动时再次安装它们。我将这些机器设置为从不下载、更新或通知用户更新,因为 svchost.exe、TrustedInstaller.exe 和 wau...exe 在任何其他设置下都会失控。在 Windows 更新的任何其他选项下,svchost.exe 仍将消耗大量 RAM。因此,我现在每周手动检查和安装一次更新。
在 Windows 驱动程序搜索的情况下,当您插入新设备时,Windows 会在探测、分析和下载设备驱动程序时消耗过多的 RAM。最突出的例子是当我尝试将 3TB 驱动器连接到机器时。我的笔记本电脑无法连接到该设备。它是具有 4GB RAM 的 Core i7。我将驱动器插入具有 16GB RAM 的台式机。我不记得这台机器是否在试图耗尽驱动器时疯狂地使用 RAM。但是,笔记本电脑升级到 12GB RAM,所以我将驱动器连接到它。svchost 的 RAM 使用率飙升至 3GB。几乎每次我插入新设备时,我都看到过类似但不那么极端的行为。
这些机器都是某种型号的 Core i7,配备 12GB 及以上的 RAM。配置不低,但也许这只是 2015 年的平均水平?
我以前研究过这种现象,虽然我发现很多人问类似的问题,但我还没有找到问题的解决方案。
有没有什么办法可以缓解这种行为?
相关链接:
Windows 7 SVCHOST 在搜索驱动程序时消耗大量 RAM
Windows 7 检查 Windows 更新导致内存使用量激增
答案1
这是 Windows 更新的一个已知问题。Microsoft 于 2015 年 6 月通过更新 KB3050265 修复了此问题:
适用于 Windows 7 的 Windows 更新客户端:2015 年 6 月
https://support.microsoft.com/en-us/kb/3050265
此更新中包含的修复
此更新解决了扫描期间系统性能可能下降的问题。此问题对物理内存较少的计算机影响最大。
下载并安装更新Windows6.1-KB3050265-x64.msu
。
Windows 8 也存在此问题,但解决方法是更新到 Windows 8.1,在将修复程序移植回 Windows 7 之前,此问题已得到修复。
微软发布了新的 WindowsUpdate 客户端更新,以解决更新搜索/安装速度缓慢的问题。
Windows 7 安装和搜索更新速度缓慢且 CPU 使用率过高
https://support.microsoft.com/en-us/kb/3102810
下载:
32位: http://www.microsoft.com/downloads/details.aspx?FamilyId=fcd6bf5d-f004-4ca3-aa7e-1de462b91dd0
64位: http://www.microsoft.com/downloads/details.aspx?FamilyId=4fe566bd-31b1-4413-8c4c-412b52533669
尝试这个新的更新,看看它是否能加快更新的安装速度。
答案2
有问题的系统是全新/从未更新过的 Windows 7 吗?如果是,那么:
- 是的,就是这样的。但是,这包括 .NET 更新,这需要在相关机器上编译大量代码。有一个修复程序可以提高它的优先级,以便计算机可以在一小时内完成它,而不是几个小时。
- 我发现缓解此行为的唯一方法是将更新设置为“选择何时手动安装”。不幸的是,这只是权宜之计。
- 不是的。你可以减少从制造商网站下载更新和安装驱动程序的次数,但仅此而已。
这个过程在 Windows 8 中得到了彻底改造,因此不太引人注意,但在 Windows 7 中,它只能忍受。
但是,从经验上讲,切换到 SSD 可以消除这些症状。相比之下:DELL e6400,全新安装 Win7 Pro 并进行完整更新需要近 3 小时的不断更新。第一次尝试更新导致进程终止后,我基本上让计算机处于自动更新状态(再次重新安装后)。同一台计算机配备 SSD(850 EVO):更新时间不到一小时,我可以继续工作。
编辑:默认情况下 Windows 更新在凌晨 3 点自动设置是有原因的......