如何在 Linux 上调试挂起至 RAM 问题?

如何在 Linux 上调试挂起至 RAM 问题?

我希望获得有关如何调试挂起到 RAM 问题的基于经验的建议。针对我的情况的建议(详细信息如下)会很好,但我也对有关如何调试此类问题的一般建议感兴趣。

问题:

通常,当我尝试挂起计算机时,它会陷入“未挂起但未唤醒”状态。通常屏幕会全黑,但有时会出现以下错误消息:

GLib-WARNING **: getpwuid_r(): failed due to unknown user id (0) 

而且,这种状态也会伴随着球迷的高速运转。摆脱这种状态的唯一方法是手动关闭笔记本电脑。

一些信息

$ uname -a
Linux baltar 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:26:05 UTC 2010 x86_64 GNU/Linux

$ lsb_release -a
Distributor ID:    Ubuntu
Description:    Ubuntu 10.10
Release:    10.10
Codename:    maverick

我已经查看了/var/log/dmesg/var/log/pm-suspend.log,但我不知道我在寻找什么,也没有什么突出的。我不确定它是否相关,但我确实在以下位置找到了很多内容/var/log/kern.log

EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro,commit=600

答案1

PM_DEBUG 和 PM_TRACE显然是目前最深入的调试设施。当您从更高级别的日志中没有得到任何有意义的信息时,据我所知,这是遇到可怕的“简历上神秘的空白屏幕”症状时唯一可以依靠的机制。大多数情况下,我们正在处理一个经常被巧妙地破坏的设备驱动程序。您还可以查看我的 Broadcom brcmsmac 无线驱动程序调试传奇,网址为内核错误 34682了解内核开发人员的建议和寻找的内容。

答案2

您有英特尔图形芯片组吗?我在运行 Ubuntu 10.10 的 ThinkPad X200 上遇到了听起来同样的问题,这个解决方法(从 2008 年开始!)为我解决了这个问题: http://ubuntuforums.org/showpost.php?p=6105510&postcount=12

答案3

我怀疑该问题可能是由于 BIOS 未正确报告其实际使用的 lowmem 造成的。

默认情况下此选项有效:

memory_corruption_check_size=64K

您可以尝试将其设置为更大的值,以使内存损坏扫描程序检查更大的 lowmem 块。

查找“memory_corruption_check_size”

ETC。

我很想知道你发现了什么(如果有的话)。

答案4

对于仍在 MacBook 上遇到暂停问题的任何人,这里有一个对我有用的解决方案:https://forums.debian.net/viewtopic.php?t=149965

更确切地说:

1. open terminal: sudo nano /etc/default/grub
2. go to: GRUB_CMDLINE_LINUX="" and add/change to: GRUB_CMDLINE_LINUX="init_on_alloc=0"
3. save and exit
4. sudo update-grub
5. reboot pc

相关内容