![Linux 中的混合睡眠与 Windows 中的混合睡眠相同吗?](https://linux22.com/image/1507035/Linux%20%E4%B8%AD%E7%9A%84%E6%B7%B7%E5%90%88%E7%9D%A1%E7%9C%A0%E4%B8%8E%20Windows%20%E4%B8%AD%E7%9A%84%E6%B7%B7%E5%90%88%E7%9D%A1%E7%9C%A0%E7%9B%B8%E5%90%8C%E5%90%97%EF%BC%9F.png)
我看到一个问题关于 Windows 上的。
还这里:
“当您将计算机置于混合睡眠状态时,它会将所有 RAM 写入硬盘驱动器(就像休眠一样),然后进入低功耗状态,使 RAM 保持刷新(就像睡眠一样)。”
据我所知,它结合了休眠(保存磁盘上的 RAM 数据,即使在断电的情况下也可以恢复)和睡眠/挂起(快速恢复完全运行)的优点。
在 Linux 中也是一样吗?
评论后更新:
当我说混合睡眠时,我指的是这样一种情况,即当电池电量不足时,我想让我的基本操作系统 Loki(基于 Ubuntu 16.04 的系统)进入睡眠/挂起状态,而不是关机。更多这里。由于该设置由名为 Upower 的工具管理(而不是像以前一样由 gsettings 管理),因此唯一可用的选项是关机、休眠和混合睡眠。后者在我创建交换空间后才可用(请参阅上面链接下的答案)。现在它可以正常工作,并且看起来与睡眠非常相似,而对交换空间的需求使其与休眠类似。
另一方面:在设置交换空间之前,命令systemctl hybrid-sleep
并systemctl hibernate
给出错误消息。现在,systemctl hybrid-sleep
让计算机进入睡眠状态(我相信这是混合睡眠),但systemctl hibernate
完全关闭系统而不是休眠,也就是说:当我重新启动它时,系统已注销并且所有打开的程序都已关闭(没有保存/恢复 RAM 数据)。这让我想到,也许休眠和将 RAM 数据交换到硬盘不适用于我的硬件,尽管使用 Upower 设置中的“HybridSleep”选项需要交换空间,但我的系统上发生的并不是真正的混合睡眠,而只是睡眠。
答案1
是的,Windows 和 Linux 之间的混合睡眠应该相同。两者都应将状态写入磁盘,以便在完全断电后从磁盘恢复,然后挂起到 RAM,以便在电池(或线路电源)保持正常的情况下非常快速地恢复。
您已经用更多信息更新了您的问题,在我看来,要么您的诊断是正确的 - 您的机器不能很好地支持休眠模式 - 要么您没有成功配置休眠模式。
首先,确保休眠确实有效 - 这是我遵循的指南,现在我已成功休眠:https://askubuntu.com/a/821122/858118
特别是,即使启用交换并更新 grub 后,休眠仍然第一次无法工作,因为我没有意识到它只有在内核干净地启动一次并设置恢复交换分区后才会工作。配置后一个完整的重启周期,休眠就可以正常工作了。
假设您具有休眠功能(sudo systemctl hibernate
可以工作),那么您应该能够使用类似的方法手动测试混合睡眠,sudo systemctl hybrid-sleep
并且混合睡眠也应该可以工作。
最后,您将需要配置哪些操作(关闭盖子?电源按钮?电池电量严重不足?)触发混合睡眠,这里有一个很好的资源:https://askubuntu.com/a/781957/858118
我提供了 Ubuntu 链接,但我认为底层内核+grub 交互、systemd 和 upower 交互等应该适用于任何发行版。