我已经解决了我的笔记本电脑在 20 秒内唤醒的问题这- 请参阅那里的链接。我想了解这是如何运作的。
该解决方案是以某种方式修改中的变量/sys/power/mem_sleep
,s2idle
即deep
。
查看该文件,它包含以下一行:
s2idle [deep]
这已经令人困惑了,因为两个变量似乎都提到了,一个在括号中。
不过我不需要决定任何事情,因为正如第二条评论所指示的,我没有尝试更改该文件,但我使用了以下命令:
echo deep | sudo tee -a /sys/power/mem_sleep
再次查看该文件似乎未变尽管。
重新启动后,可以从挂起状态立即唤醒,但该文件具有s2idle [deep]
与一开始相同的一行。
我相信这个解决方案,但是:
我不知道如果我不得不
该文件似乎没有变化,那么改变/撤销意味着什么?
也许有趣的是,在该位置有一个文件sys/power/wakeup_count
包含以下一行:20
。难道这就是我之前经历过的 20 秒吗?
答案1
您已写入deep
该系统文件。该文件具有您可以看到的固定值。括号中的是选定的值。因此看起来您没有更改任何内容。
值的含义为:
/sys/power/mem_sleep 文件控制系统挂起的操作模式。读取该文件将返回可用模式,包括“s2idle”(始终存在)、“shallow”和“deep”(如果支持则存在)。随后尝试挂起系统时(通过将“mem”写入上述 /sys/power/state 文件)将使用的模式括在方括号中。
Writing one of the above strings to this file causes the mode represented by it to be used on subsequent attempts to suspend the system.
See Documentation/admin-guide/pm/sleep-states.rst for more information.
/sys/power/wakeup_count 文件允许用户空间将系统置于睡眠状态,同时考虑唤醒事件的并发到达。读取该文件将返回当前已注册唤醒事件的数量,如果在读取该文件时正在处理某些唤醒事件,则该文件将被阻止。只有当当前唤醒事件数量等于写入值时,写入才会成功,如果成功,则在写入返回后报告任何唤醒事件时,将使内核中止随后的睡眠状态转换。
来源:https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-power