如何找到笔记本唤醒的原因?


9

我的笔记本电脑挂起时遇到问题,但是在我不希望笔记本电脑挂起时醒来(或者立即,或者在装在书包中的很晚之后醒来-在这里我可能要解决两个问题)。但是目前,这个问题是关于故障排除的:我可以运行一个命令来告诉我上一个resume动作的触发是什么吗?例如,是否按下了按键或电源按钮,是否为局域网唤醒信号,是否正从交流电源切换到电池等,等等。

看来在Windows上您可以键入powercfg -lastwake找到答案。因此,我正在寻找与该命令等效的Linux。

如果没有这样的命令,我需要在哪个日志文件中查找什么?

(Mint 16,xfce,Lenova Thinkpad,内核3.11.0-12-通用)

Answers:


3

由于您已经有了ThinkPad,所以除了其他建议(初步systemd提示)之外,如果您使用的是thinkpad_acpi驱动程序,则可能需要看看/sys/devices/platform/thinkpad_acpi/wakeup_reason。该文件包含一个数字,告诉您嵌入式控制器是否由于以下原因唤醒了笔记本电脑:低电量 (至少我认为是这样),移除码头的要求等。

作为Documentation/laptops/thinkpad-acpi.txt状态:

wakeup_reason:
    Set to 1 if the system is waking up because the user
    requested a bay ejection.  Set to 2 if the system is
    waking up because the user requested the system to
    undock.  Set to zero for normal wake-ups or wake-ups
    due to unknown reasons.

4

带systemd的系统

在使用该系统的系统上,systemd可以使用以下journalctl命令查看systemd的日志。

例如,在这里,我的系统从关闭的盖子进入睡眠状态,然后在打开盖子时,您会看到与此相关的事件,如下所示:

$ journalctl | less
...
May 19 09:04:47 greeneggs.bubba.net kernel: PM: Syncing filesystems ... done.
May 19 09:04:47 greeneggs.bubba.net kernel: PM: Preparing system for mem sleep
May 19 09:33:42 greeneggs.bubba.net kernel: Freezing user space processes ... (elapsed 0.002 seconds) done.
May 19 09:33:42 greeneggs.bubba.net systemd[1]: Time has been changed
May 19 09:33:42 greeneggs.bubba.net systemd-logind[772]: Lid opened.
...

不带系统的系统

对于不使用的系统,systemd您可以在很多地方查看。对于初学者,您可以在dmesg日志中查看。您也可以查找/var/log/syslog与电源管理或ACPI相关事件有关的消息。

我首先看一下/var/log/pm_suspend.log,假设它存在。尤其是在Linux Mint之类的发行版上,您可能会在这里找到类似以下的消息:

Thu Feb 21 21:21:50 GMT 2013: Running hooks for hibernate.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate:
/usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate: success.
Running hook /usr/lib/pm-utils/sleep.d/00logging hibernate hibernate:
...

参考文献


但是,systemd在Mint或Debian中不是默认值。目前仅在Debian-stable中包含它作为预览。
Thomas Hughes 2014年

@GuyHughes-是的,我知道,我正在寻找在以前的版本中执行此操作的方法。
slm

0

您可以dmesg先检查一下,man dmesg但您可能想尝试一下dmesg -k


dmesg -k | wc -l给3298 :-)顺便说一句,这是否告诉我一些与看不同的东西/var/log/kern.log
达伦·库克

@DarrenCook只是确定挂起/恢复何时发生,并分析该部分,这将wc -l少得多。
托马斯·休斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.