![Ubuntu 16.04 (Xenial) 多 CPU 硬锁定](https://linux22.com/image/1147627/Ubuntu%2016.04%20(Xenial)%20%E5%A4%9A%20CPU%20%E7%A1%AC%E9%94%81%E5%AE%9A.png)
自从我升级到 Xenial 以来,我已经追踪这个问题大约 6 周了。起初以为是随机的,但发现使用 USB 串行适配器会引发此问题。无论是板载 USB2 还是 PCI-E USB3 附加卡,都无关紧要。会导致文本控制台和/或串行控制台(我已将其启用到 ob-board 串行端口)上出现以下消息:
NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
NMI watchdog: Watchdog detected hard LOCKUP on cpu 3
NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
NMI watchdog: Watchdog detected hard LOCKUP on cpu 5
NMI watchdog: Watchdog detected hard LOCKUP on cpu 6
NMI watchdog: Watchdog detected hard LOCKUP on cpu 8
NMI watchdog: Watchdog detected hard LOCKUP on cpu 11
ETC。
该机器有 16 个核心,所有核心都会快速连续锁定,需要重置。
我运行的是最新内核 (linux-image-4.4.0-72-generic)。我尝试了 4.8,但受到 MTU 错误的影响 (https://bugs.launchpad.net/ubuntu/+source/linux-hwe-edge/+bug/1679823)。我尝试了 4.10,但是它存在某种 KVM 错误(我也在主机上运行了一些虚拟机)。
我尝试更换内存(即使是 ECC 内存)、更换主板、更换网卡,但都无济于事。我找不到其他人报告与特定用户空间进程无关的多 CPU 锁定,所以我猜想我的硬件有问题。
答案1
我按照说明构建了自己的 4.8 内核(https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel) 并构建了 linux-image-4.8.0-53-generic。这解决了我的死机、MTU 问题,并且不再出现 KVM 崩溃。由于我浪费了 6 周时间来排除此故障,希望其他人会觉得它有用。