Windows 7 从休眠状态恢复后运行缓慢

Windows 7 从休眠状态恢复后运行缓慢

每次我让 Windows 7 休眠然后稍后恢复时,整个系统在一段时间内似乎都正常,然后一切都变慢,直到系统需要大约 10 秒钟才能加载之前可以立即加载的网页。

有什么办法可以阻止这种情况发生吗?

我已经尝试过 sfc /scannow,但没有任何区别。

我已见过多次此类询问,但从来没有找到适合我的解决方案。

答案1

每次我让 Windows 7 休眠然后稍后恢复时,整个系统在一段时间内似乎都正常,然后一切都变慢,直到系统需要大约 10 秒钟才能加载之前可以立即加载的网页。

查看系统上的 HDD LED。我敢打赌,从休眠状态恢复后的几分钟内,HDD LED 会剧烈闪烁(甚至会常亮)。

这是正常现象。当 Windows 从休眠状态恢复时,它不会将整个休眠文件(可能为几 GB)读入内存。相反,它会加载重新启动和运行所必需的部分(内核、驱动程序的内存、服务、活动程序等),并在后台加载其余部分。这样,您就可以立即开始工作,而不必等待一两分钟。

当然,这意味着系统会陷入停滞,而 Windows 会继续在后台加载系统的其余部分。当然,它会尽力尽可能地响应,但毫不奇怪,这说起来容易做起来难。这尤其如此,因为活动不断迫使它从后台加载中转移出来,优先处理其他事情,例如,如果你取消最小化某个程序,Windows 必须尝试停止加载正在进行的工作并快速恢复其他程序的内存,但它可能必须先完成当前操作才能转向其他程序。

我已经尝试过 sfc /scannow,但没有任何区别。

因为驱动器没有任何问题。

有什么办法可以阻止这种情况发生吗?

除了获得更多内存和更快的驱动器(例如 SSD)外,改善休眠后性能的最佳方法是在休眠前退出尽可能多的程序并释放尽可能多的内存。显然,这在某种程度上违背了休眠的目的,但没有什么是免费的,如果你想要这方面的性能,那么你就必须在那方面付出代价,反之亦然。

另外,如果您在休眠之前减少正在运行的程序数量和使用的内存,那么您还可以获得 Windows 休眠速度更快的好处,因为它不必将太多内存保存到磁盘。

此外,MSDN 文章那个鲍勃提及解释了恢复速度慢(比休眠速度慢)的另一个原因:

引导加载程序增强功能也提供了类似的休眠恢复时间改进,主要是通过简化 Ntldr 用于读取休眠映像的 I/O 路径。休眠文件在写入时被压缩,为了提高效率,压缩算法与文件 I/O 重叠。但是,从休眠状态恢复时,Ntldr 使用 BIOS 执行 I/O;因此,将磁盘 I/O 读取与解压缩重叠是不可行的。

为了优化 Windows XP 中的休眠过程,我们实施了多项改进。压缩算法已优化,可压缩和解压缩大块(64K)数据。此外,压缩与磁盘写入重叠。在将当前数据块传输到磁盘时,下一个数据块正在被压缩。将压缩与磁盘写入重叠可使压缩时间几乎为零。此外,休眠文件是使用 IDE DMA 而不是 PIO 模式写入的。大多数现代 IDE 控制器和磁盘仅在 DMA 模式下才能实现最佳性能。

换句话说,休眠过程发生在 Windows 中,所有驱动程序等都已加载并准备就绪,因此 Windows 可以以最大速度访问硬件(即驱动器)。但是当您恢复时,Windows 未加载,因此它使用 BIOS,它仅提供基本级别的服务(即使如此),毕竟,BIOS 中的 代表Basic

EFI 系统上的 Windows 7 情况稍好一些,但本质上还是一样。EFI 不可能为所有可能的硬件设备提供“驱动程序”,因此即使是 EFI 系统也无法提供具有最高性能的完全访问权限。


因此,从休眠状态恢复总是会比较慢(至少是启动并运行 Windows 的部分;其余部分的后台加载会快一点)。事实上,安装的内存越多,恢复所需的时间就越长,因为需要从磁盘读取的数据越多 — 休眠是内存越多的唯一缺点之一。

答案2

休眠过程完成后,只需让计算机再次进入睡眠状态。将其唤醒,令人惊讶的是,Windows 将再次全速运行。

相关内容