笔记本电脑的电源睡眠新知

早先对电脑的系统电源状态认知只停留在,登出、睡眠、休眠、关机这几种。如果没有遇到电脑睡眠的问题,就不会继续的去学习。

以下表格来自微软官网。

系统电源状态 功耗 软件恢复 硬件延迟 系统硬件上下文
S0(工作状态) 最大。 但是,单个设备的电源状态可能会动态变化,因为每个设备的电源节约都发生。 未使用的设备可以根据需要关闭和通电。 不适用。 保留所有上下文
S0(休眠状态) 介于S0和S3
S1 消耗比 S0 少,但比其他睡眠状态多。 处理器时钟已关闭,并且停止了总线时钟。 控件从中断位置重启。 通常不超过两秒。 硬件保留并维护所有上下文。
S2 消耗小于状态 S1,大于 S3。 处理器关闭。 总线时钟停止,某些总线可能会断电 唤醒后,控件从处理器的重置向量启动。 两秒钟或更长时间,大于或等于 S1 的延迟。 CPU 上下文和系统缓存内容丢失。
S3 消耗小于状态 S2。 处理器已关闭,并且主板上的一些芯片也可能已关闭。 出现唤醒事件后,控件从处理器的重置向量启动。 与 S2 相当。 仅保留系统内存。 CPU 上下文、缓存内容和芯片组上下文都将丢失。
S4 关闭,电源按钮和类似设备上的涓流电流除外。 系统从保存的休眠文件重启。 如果无法加载休眠文件,则需要重新启动。 当系统处于 S4 状态时重新配置硬件可能会产生更改,导致无法正确加载休眠文件。 较长且不确定。 只能通过物理交互将系统恢复到工作状态。 此类交互可能包括用户按下启动开关,或者调制解调器上的来电响铃或 LAN 上出现活动(如果存在相应的硬件并启用了唤醒)。 如果硬件支持,计算机还可以从恢复计时器唤醒。 硬件中没有保留。 系统在关机之前,将内存映像写入休眠文件。 加载操作系统后,它将读取此文件并跳转到其之前的位置。
S5 关闭,但电源按钮等设备的涓流电流除外。 觉醒时需要启动。 较长且不确定。 只有物理交互(例如用户按 ON 开关)将系统返回到工作状态。 如果系统已配置,BIOS 也可以从恢复计时器唤醒。 未保留任何内容。

这里只针对睡眠进行细说。S3是我们以往用的睡眠模式,这种是今保留内存,像CPU、磁盘等是关闭的。睡眠状态到运行恢复大概是2秒多,从windows10开始,微软又搞出了一种模式,叫“新式待机”,modern standby。可以理解为低功耗的S0,给我们直观的感受是打开笔记本秒开,就像只关闭了屏幕一样。

对于用仅用电池的方式,用新式待机是完全正常的,风扇慢慢的就不再运行了,睡眠一晚上也是掉个5%左右的电,但如果是插电源的睡眠就会出现风扇一直运行,最后就是狂转,笔记本还发烫,看上去就像一直在运行,只是屏幕关闭了。

对于插电源这种情况是什么原因引起的,网上并没有找到具体的答案,我对比了BIOS后,差异就在于电池是“balanced模式”,电源是“Performance模式”,但我没有尝试更改,而是将S0待机更改为S3。

S0待机改为S3网上有说通过windows系统中修改,但这个不准确,可参考如下方法:

  1. 通过powercfg -a确认当前状态,可支持什么状态。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
D:\apps\myweb-hugo>powercfg -a
此系统上有以下睡眠状态:
    待机 (S3)

此系统上没有以下睡眠状态:
    待机 (S1)
        系统固件不支持此待机状态。

    待机 (S2)
        系统固件不支持此待机状态。

    休眠
        尚未启用休眠。

    待机(S0 低电量待机)
        系统固件不支持此待机状态。

    混合睡眠
        休眠不可用。

    快速启动
        休眠不可用。
  1. 如果S3中有“系统固件不支持此待机状态”,则说明在操作系统层改是没有意义的。
  2. 咨询自己的电脑品牌商,是否支持在BIOS中修改为S3状态,网上一般也可以找到,或者自己尝试进入BIOS查看。

下图是ThinkPad x1 carbon gen10的设置,网上说从gen8以上可能都差不多。在config中找到sleep state。选择Linux S3.

37897bec738257500e2ee101bdf8bfd

updatedupdated2023-10-212023-10-21