Linux-Kernel
隨機凍結,未觸發 kdump,系統未重新啟動
我已經有這個問題好幾個月了。我在我的個人電腦上執行 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 中都沒有與這些凍結相對應的內容
我沒主意了。接下來我應該嘗試什麼?
這種凍結與 Linux 核心 ( https://bugzilla.kernel.org/show_bug.cgi?id=109051 ) 中與某些英特爾處理器的電源管理和空閒狀態相關的一個開放錯誤非常匹配。我的系統使用 2013 年製造的 i3-3220T CPU,它似乎與受該錯誤影響的處理器大致相同。
錯誤執行緒建議的解決方法是添加
intel_idle.max_cstate=1
到我的引導命令行。完成此操作後,我的系統在一個月內沒有凍結。