我已经有这个问题好几个月了。我在我的个人计算机上运行 Linux。在随机的时间(每天最多 3 次),我的系统完全冻结并且对除硬断电之外的任何输入都没有响应。没有鼠标光标移动,没有 SysRq 魔术键,即使按 Num Lock 也不会切换键盘上的 LED。
我知道硬件问题通常是此类事件的罪魁祸首。然而:
- PassMark MemTest86 成功,有 0 个错误或警告。
smartctl
并badblocks
成功,但有 0 个错误或警告。- 我从未观察到任何过高的温度或风扇问题。
- 我的显卡是 AMD 显卡(即,这不是与 NVIDIA 卡相关的问题之一。)
- 我在这个硬件上运行 Windows 多年,没有遇到类似的问题。
我已经设置了 kdump 来尝试诊断该问题。当我使用 引起内核恐慌时,转储内核会执行echo "c" > /proc/sysrq-trigger
,但是当发生疯狂冻结时,它只会无限期地保持冻结状态,而不执行 kdump 或重新启动。
我的sysctl
配置设置了以下变量:
kernel.hardlockup_panic = 1
kernel.hung_task_check_count = 4194304
kernel.hung_task_check_interval_secs = 0
kernel.hung_task_panic = 1
kernel.hung_task_timeout_secs = 10
kernel.hung_task_warnings = 10
kernel.nmi_watchdog = 1
kernel.panic = 60
kernel.panic_on_io_nmi = 1
kernel.panic_on_oops = 1
kernel.panic_on_rcu_stall = 1
kernel.panic_on_unrecovered_nmi = 1
kernel.panic_on_warn = 1
kernel.softlockup_panic = 1
kernel.soft_watchdog = 1
kernel.unknown_nmi_panic = 1
kernel.watchdog = 1
kernel.watchdog_cpumask = 0-3 # my system has 4 cores
kernel.watchdog_thresh = 10
我在运行 Linux 内核 4.19 和 5.0 的 Ubuntu 18.04 以及运行 Linux 内核 4.19 和 5.3 的 Arch Linux 上观察到这些冻结情况。我正在运行最新的英特尔微代码包。任何 Xorg 日志或 .xsession-errors 中都没有与这些冻结相对应的内容
我没主意了。接下来我应该尝试什么?
答案1
这种冻结与 Linux 内核中的一个未解决的错误密切相关(https://bugzilla.kernel.org/show_bug.cgi?id=109051)与某些英特尔处理器的电源管理和空闲状态相关。我的系统使用 2013 年制造的 i3-3220T CPU,它似乎与受该错误影响的处理器大致是同一代。
错误线程建议的解决方法是添加intel_idle.max_cstate=1
到我的启动命令行。完成此操作后,我的系统一个月内没有冻结。