如何调试 pm-suspend 冻结?

如何调试 pm-suspend 冻结?

15.10在 Dell Latitude D630 上运行(32 位),内核为 4.2.0-30-generic。

当我跑步时

sudo pm-suspend

或者

# echo -n mem > /sys/power/state

屏幕停止移动,鼠标不动,屏幕保持亮起,键盘和鼠标没有任何反应,并且远程(ssh)会话变得无响应。

/var/log/pm-suspend.log以。。结束:

Sun Feb 28 19:44:39 EST 2016: performing suspend

/var/log/kern.log似乎不包含与暂停相关的任何内容,但也许有人可以建议我寻找可能相关的内容。

模块包括:

wl dell_wmi dell_rbtn dell_laptop sparse_keymap gpio_ich snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic pcmcia dcdbas snd_hda_intel dell_smm_hwmon snd_hda_codec coretemp snd_hda_core kvm snd_hwdep yenta_socket input_leds joydev cfg80211 serio_raw snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi pcmcia_rsrc snd_seq lpc_ich pcmcia_core snd_seq_device snd_timer snd soundcore shpchp 8250_fintek mac_hid parport_pc ppdev lp parport autofs4 psmouse firewire_ohci firewire_core tg3 pata_acpi crc_itu_t ptp pps_core i915 wmi i2c_algo_bit drm_kms_helper syscopyarea 视频 sysfillrect sysimgblt fb_sys_fops drm

我看到很多人认为问题可能出在某个模块上,解决办法是编辑/etc/pm/config.d/modules并将该模块添加到SUSPEND_MODULES。但是我不知道众多模块中哪一个可能是罪魁祸首。有没有办法从 suspend 中获取更多调试信息,以便找出可能是哪个模块?

答案1

我发现

dmesg

cat /var/log/pm-suspend.log

往往会提供最多的信息。在最好的情况下,问题将是一个无法停止的进程,这将显示在 中dmesg。在最坏的情况下,它将是一个模块。除了反复试验之外,我还没有找到找出哪个模块的方法。

就我而言,它原来是wl模块(用于无线网卡)。

相关内容