如何调试挂起?

mli*_*ner 29 suspend

我已经使用 Ubuntu 大约五年了,但我仍然无法让它在我想要的时候暂停。我可以编写风暴程序,以多种其他方式入侵机器,这真是令人恼火,然而,当我尝试使其挂起或调试挂起时,我却惨遭失败。

我需要帮助。

我从哪里开始寻找问题?我该怎么做才能解决它?我悬赏这个,因为我真的因为这个问题而失去了生命中的几个小时,而且一直让我的电脑开着是很糟糕的。

症状:

  • 按挂起使我的计算机处于光标闪烁的状态,风扇正在运行,似乎 HD 已关闭(我认为),并且我无法做任何事情将其从该状态恢复(缺少硬重启)。
  • 可能相关:我的风扇即使在关机后仍然保持运转,即使这样,我也必须按下电源按钮五秒钟才能再次启动它。
  • 我不知道要查看哪些日志来调试问题,而且我想无论如何它们都会在重新启动时受到攻击。

请,请帮助。这让我完全疯了,我已经忍受了一年多。

Hen*_*rik 22

来自https://wiki.ubuntu.com/UnderstandingSuspend

  • 最大的问题是图形硬件
  • 尝试在没有受限设备的情况下挂起(nvidia、fglrx)
  • 内核不知道如何处理图形设备
  • BIOS 知道如何恢复图形状态
    • 通过 16 位分段模式,C000:xxxx 包含可见的 64k 视频 ROM。
    • 在 C000:0003 开始​​执行,通常重新 POST 视频 BIOS (/usr/sbin/vbetool post)
      • 在 64 位模式下更难,因为需要模拟 16 位调用。
      • 部分内存在3-4G范围内,在模拟时需要重新映射,以避免碰到映射在同一空间的内核。o 视频 BIOS 可能已将 POST 代码移出 C000 窗口 o nvidia BIOS 重写 ROM 以返回停止重新 POST 尝试从控制台挂起(通过 /etc/acpi/sleep.sh)
    • 确保您已退出 Xorg(或使用“force”参数运行 sleep.sh)
    • 如果视频 BIOS 未处于正常状态,则返回 Xorg 可能会挂起硬件
    • 在恢复时测试大写锁定(如果没有大写锁定,内核挂起)
    • 如果背光没有重新亮起,则视频 BIOS 可能没有重新初始化
    • 如果屏幕为空白,但有背光,请尝试按 Enter 键或在虚拟终端之间切换
    • 在单用户模式下尝试(通过将“single”附加到 grub 内核引导选项)
    • 有关操作的详细信息,请尝试 bash -x /etc/acpi/sleep.sh >/root/sleep.log 2>&1
    • 查看与/usr/share/acpi-support/*.config中设置匹配的dmidecode信息
    • 如果单用户模式控制台挂起或恢复失败
    • PM 跟踪(回显“1”> /sys/power/pm_trace)将设备哈希写入系统计时器
    • 尝试暂停
    • 失败后,重新启动时,检查 dmesg 输出中的“设备哈希”条目,以追踪在恢复期间挂起系统的设备。
    • 意识到这将重置系统时钟,并且 fsck 会吓坏(“已经 31337 天没有 fsck 了”)。考虑 tune2fs -c 0 /dev/your/filesystems。

  • 如何关闭受限设备? (2认同)

evg*_*eny 4

您可以在这里这里找到很多指南/建议。

根据您的描述,听起来您的 ACPI 工作不正常,或者内核驱动程序阻止完全挂起。第二个链接显示了如何处理此类问题。

  • 错误的答案 - 只是链接。Stack* 站点的目的是为所有问题提供一个解决问题的地方,而不是让用户陷入无休止的追寻或说“去他妈的谷歌吧”。请将您的答案插入问题中,并根据 mlissner 的评论进行更新。 (4认同)
  • 我读了一遍这些内容,但它们没有提供对我的问题真正有用的信息。需要更多帮助和更好的细节。我已经为这个问题创建了一个赏金。 (2认同)