尽管我的“/sys/power/mem_sleep”文件中有 `[s2idle] deep`,但整个电池还是耗尽了

尽管我的“/sys/power/mem_sleep”文件中有 `[s2idle] deep`,但整个电池还是耗尽了

在我将笔记本电脑挂起约 10 小时后,笔记本电脑会死机,整个电池都耗尽了。我使用“cat /sys/power/mem_sleep”检查挂起模式,它返回“[s2idle] deep”。这是否意味着我拥有高级挂起模式,在挂起期间消耗的电量很少?

在我暂停并唤醒笔记本电脑后,我尝试了“sudo journalctl | grep "PM: suspend" | tail -2”。它返回

Feb 16 10:46:42 Zephyrus kernel: PM: suspend entry (s2idle)
Feb 16 10:46:53 Zephyrus kernel: PM: suspend exit

这意味着它没有进入挂起至内存模式,而是进入耗电的 s2idle 模式。我该如何解决这个问题?谢谢!

这是一款搭载 ubuntu 20.04 的 ROG M16。

编辑:我关注了文章现在我可以使用“暂停进入(深度)”。电池是否仍然耗尽仍有待检查。

答案1

我基本上遵循了文章以及一些其他说明。

首先,看看你的设备是否处于“挂起到 RAM”状态,使用

cat /sys/power/mem_sleep

如果返回“s2idle [deep]”,则表示支持。如果不支持,请首先检查您的设备是否支持此挂起模式,如果支持,请运行

echo 'deep' > /sys/power/mem_sleep

并再次检查。

现在您的设备已正确处于挂起模式,但挂起时设备不一定进入此模式。要检查,请先挂起设备,然后将其唤醒。然后打开终端并运行

sudo journalctl | grep "PM: suspend" | tail -2

您可以找到暂停日志,如下所示。请注意,我附加的日志显示我正确进入了“暂停到 RAM”模式,在您的情况下,它可能会显示“暂停进入(s2idle)”而不是“暂停进入(deep)”

lin@Zephyrus:~$ sudo journalctl | grep "PM: suspend" | tail -2
[sudo] password for lin: 
Feb 16 21:35:05 Zephyrus kernel: PM: suspend entry (deep)
Feb 17 09:36:24 Zephyrus kernel: PM: suspend exit

如果是这种情况,你必须修改你的引导程序。这里我使用 gedit。确保它已安装,方法是:

sudo apt update
sudo apt upgrade
sudo apt install gedit

然后修改bootloader文件

sudo -H gedit /etc/default/grub

找到这条线GRUB_CMDLINE_LINUX_DEFAULT="安静的启动"在文件中并将其替换为GRUB_CMDLINE_LINUX_DEFAULT="安静启动 mem_sleep_default=deep"

现在应该可以正常工作了!尝试暂停并唤醒您的设备,然后再次使用上述命令检查日志!

相关内容