如何调试频繁发生的无法恢复的冻结?

如何调试频繁发生的无法恢复的冻结?

我的新 XPS 13(配备 KabyLake 处理器的 9360)预装了 Ubuntu 16.04,经常无缘无故地完全冻结。

冻结似乎是随机发生的。有时鼠标指针仍然可以移动几秒钟,但最终系统完全锁定。我无法切换到虚拟终端,甚至 SysRq 代码似乎也没有任何效果。我所能做的就是长按电源按钮进行硬关机,之后系统正常启动。

正在运行的用户进程主要是几个 Chrome 标签页和一个终端。

我检查并尝试过的内容包括:

这样做之后,仍然会出现冻结。现在我不知所措。因此,我的问题是:

有哪些方法可以找到问题的原因?

答案1

通过编辑来禁用intel_cstates(省电状态旨在减少 CPU 废热和电量使用)/etc/default/grub

sudo nano /etc/default/grub

查找包含GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

直接添加intel_idle.max_cstate=1在后面splash

或者,如果您的 BIOS 支持这样做,请从那里禁用所述 C 状态。

注意:这是 不是 长期修复。禁用 C 状态会严重增加功耗和废热。只有在没有其他解决方案并且更新内核无法解决任何问题时才尝试此方法!

答案2

如何安装内核 4.8.5

虽然 4.8.7 是最新的内核,但在这份长达 1 年、包含 500 篇文章的 bug 日志中 (Bug 109051 - baytrail 上需要 intel_idle.max_cstate=1 来防止崩溃) 据报道无法工作。就在昨天,有人发帖称他们尝试了 4.8.7,但崩溃了,所以他们又回到了 4.8.6。

虽然错误日志标题是“Bay Trail”,但根据用户报告,所提供的解决方案适用于其他 Intel 平台。由于有 582 个帖子跨越近一年,我建议End在打开链接后按下 键并从那里向上滚动。

我已经断断续续地运行了 4.8.5 和 4.4.0-47 几个星期了,使用其中任何一个都感觉很舒服。以下是安装内核版本 4.8.5 的说明:

cd /tmp
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805_4.8.5-040805.201610280434_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-image-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
sudo dpkg -i *.deb
sudo reboot

您可以通过访问以下站点来安装任何内核:(http://kernel.ubuntu.com/~kernel-ppa/mainline/) 并根据上述说明调整那里的链接。

相关内容