我在 Panasonic Toughbook CF-29 上安装了 Ubuntu Lucid。大多数功能都运行良好,但在 Gnome 下,挂起和休眠功能不起作用。有趣的是,在 Xubuntu 中,休眠功能可以工作。所以我的问题有两个:
1)如何解决 Gnome 桌面中的休眠功能问题(因为我知道笔记本电脑可以在 Ubuntu 中休眠),以及
2) 如何对挂起功能进行故障排除?我查看了 /var/log/pm-suspend.log,但它只告诉我成功运行的内容...我有点卡在那里了。
答案1
以下是一些提示https://wiki.ubuntu.com/DebuggingKernelSuspendHibernateResume
无法暂停/休眠
$ dmesg|less
通常会有一个条目表明哪个应用程序导致暂停失败:
[32467.560058] Freezing of tasks failed after 20.01 seconds (1 tasks refusing to freeze, wq_busy=0):
[32467.560115] plasma-desktop D 0000000000000000 0 2065 1 0x00800004
...
堆栈跟踪通常会告诉您问题可能出在哪里:
[32467.560155] [<ffffffff81087f00>] ? autoremove_wake_function+0x0/0x40
[32467.560163] [<ffffffffa016e523>] SendReceive+0x1a3/0x3b0 [cifs]
[32467.560169] [<ffffffffa0153c79>] CIFSSMBUnixQPathInfo+0x139/0x2b0 [cifs]
[32467.560176] [<ffffffffa016853d>] cifs_get_inode_info_unix+0x7d/0x1a0
无法恢复
确保交换分区设置正确,请参阅https://help.ubuntu.com/community/SwapFaq
答案2
我以前在笔记本电脑和台式机上都遇到过 Ubuntu 休眠问题。后来我读到一篇文章,其中有道理,即交换空间必须足够大才能存储当前内存内容。因此,一个好的经验法则是让交换空间略大于笔记本电脑的物理内存。
因此,我在下一个 Ubuntu 版本安装中使用 1.6GB 的交换空间来交换 1GB 内存(我现在使用的是 Ubuntu 10.04),而且我可以毫无问题地让笔记本电脑休眠。
另一种方法是使用交换文件而不是交换分区。以下链接有更多详细信息:
答案3
取决于具体问题是什么。我会先仔细检查pm-suspend.log
就暂停故障排除而言,我发现 Debian 网站上的页面比 Ubuntu 网站上的页面更有帮助:https://wiki.debian.org/Suspend
在我的情况下,每几次暂停中就有一次会导致系统冻结(不会进入暂停状态)。从 pm-suspend.log 中,我发现问题与显卡驱动程序有关:
成功暂停消息:
Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
kernel.acpi_video_flags = 0
/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.
暂停失败的消息:
Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
然后什么也没有了,它就挂在这里。
下一步是通过PM_DEBUG=true
在文件开头插入行 export 来启用调试/usr/lib/pm-utils/pm-functions
。完成此操作后,我发现它挂起了chvt 63
,我发现了一个错误报告,最终让我安装了制造商提供的专有视频驱动程序。
答案4
本文01.org 提供了有关调试 Linux 挂起/休眠问题的信息:
- 介绍一些常见的调试方法。
- 介绍一些可能破坏 Linux 挂起/休眠模式的典型问题。
- 根据问题的不同症状提供分步说明。