看门狗:BUG:软锁定 - 在 Ryzen 9 3950X CPU 上

看门狗:BUG:软锁定 - 在 Ryzen 9 3950X CPU 上

我们最近建造了一台配备以下设备的机器:

规格
中央处理器 AMD 锐龙 9 3950X
内存 128GB DDR4 3000MHz
固态硬盘 1TB + 2 个 HHD 6TB
图形处理器 NVIDIA GEFORCE RTX 3090 24GB
操作系统 Ubuntu 20.04 LTS
电源 850W 认证

我们远程使用机器进行基于 AI 的研究。当 CPU 负载过大时,我们遇到了几个与烦人的错误相关的问题。具体来说,错误会完全冻结机器,控制台返回:

Message from syslogd@machinename at Feb 13 09:37:16 ...
kernel:[ 348.578682] watchdog: BUG: soft lockup - CPU#4 stuck for 22s! [systemd-journal:660]

打印上述问题后,无法通过 ssh 访问该机器。只能物理重启机器。我们在 GPU 上进行了数周的实验,没有任何问题,一旦我们为某些任务加载 CPU,它就会冻结并报告上述问题。

有人遇到过同样的问题吗?我们该如何解决?

更新(大约一个月后) 通过设置min_free_kbytes为 2GB(如 @DougSmythies 所建议),我们缓解了这个问题,但是在几乎仅使用 GPU 近 1 个月后,问题再次出现。它发生在使用 24/32 个虚拟核心时。禁用 NMI 看门狗是否可以解决完全冻结的问题?这样做有什么缺点吗?主要目标是远程恢复机器(当问题发生时无法做到这一点)。

更新 2(经过多次尝试) 这台机器似乎有随机行为,我们不确定是什么原因导致的。今天我们得到了额外的信息。查看第 n 次崩溃后的日志,我们得到:

Apr 26 18:43:10 machine_name kernel: [UFW BLOCK] IN=enp4s0 OUT= MAC=01:00:5e:00:00:01:00:05:1a:2f:fe:40:08:00 SRC=130.192.16.207 DST=2>
Apr 26 18:43:30 machine_name rtkit-daemon[1610]: The canary thread is apparently starving. Taking action.
Apr 26 18:43:30 machine_name rtkit-daemon[1610]: Demoting known real-time threads.
Apr 26 18:43:30 machine_name rtkit-daemon[1610]: Successfully demoted thread 59917 of process 1598.
Apr 26 18:43:30 machine_name rtkit-daemon[1610]: Successfully demoted thread 1598 of process 1598.
Apr 26 18:43:30 machine_name rtkit-daemon[1610]: Demoted 2 threads.
Apr 26 18:43:40 machine_name rtkit-daemon[1610]: The canary thread is apparently starving. Taking action.
Apr 26 18:43:40 machine_name rtkit-daemon[1610]: Demoting known real-time threads.
Apr 26 18:43:40 machine_name rtkit-daemon[1610]: Successfully demoted thread 59917 of process 1598.
Apr 26 18:43:40 machine_name rtkit-daemon[1610]: Successfully demoted thread 1598 of process 1598.
Apr 26 18:43:40 machine_name rtkit-daemon[1610]: Demoted 2 threads.
Apr 26 18:43:50 machine_name rtkit-daemon[1610]: The canary thread is apparently starving. Taking action.
Apr 26 18:43:50 machine_name rtkit-daemon[1610]: Demoting known real-time threads.
Apr 26 18:43:50 machine_name rtkit-daemon[1610]: Successfully demoted thread 59917 of process 1598.
Apr 26 18:43:50 machine_name rtkit-daemon[1610]: Successfully demoted thread 1598 of process 1598.
Apr 26 18:43:50 machine_name rtkit-daemon[1610]: Demoted 2 threads.
Apr 26 18:44:00 machine_name rtkit-daemon[1610]: The canary thread is apparently starving. Taking action.
Apr 26 18:44:00 machine_name rtkit-daemon[1610]: Demoting known real-time threads.
Apr 26 18:44:00 machine_name rtkit-daemon[1610]: Successfully demoted thread 59917 of process 1598.
Apr 26 18:44:00 machine_name rtkit-daemon[1610]: Successfully demoted thread 1598 of process 1598.
Apr 26 18:44:00 machine_name rtkit-daemon[1610]: Demoted 2 threads.
Apr 26 18:44:10 machine_name rtkit-daemon[1610]: The canary thread is apparently starving. Taking action.
Apr 26 18:44:10 machine_name rtkit-daemon[1610]: Demoting known real-time threads.
Apr 26 18:44:10 machine_name rtkit-daemon[1610]: Successfully demoted thread 59917 of process 1598.
Apr 26 18:44:10 machine_name rtkit-daemon[1610]: Successfully demoted thread 1598 of process 1598.
Apr 26 18:44:10 machine_name rtkit-daemon[1610]: Demoted 2 threads.
Apr 26 18:44:20 machine_name rtkit-daemon[1610]: The canary thread is apparently starving. Taking action.
Apr 26 18:44:20 machine_name rtkit-daemon[1610]: Demoting known real-time threads.
Apr 26 18:44:20 machine_name rtkit-daemon[1610]: Successfully demoted thread 59917 of process 1598.
Apr 26 18:44:20 machine_name rtkit-daemon[1610]: Successfully demoted thread 1598 of process 1598.
Apr 26 18:44:20 machine_name rtkit-daemon[1610]: Demoted 2 threads.
Apr 26 18:44:30 machine_name kernel: kernel tried to execute NX-protected page - exploit attempt? (uid: 1000)
Apr 26 18:44:30 machine_name kernel: BUG: unable to handle page fault for address: ffff9f42feb2adc0
Apr 26 18:44:30 machine_name kernel: #PF: supervisor instruction fetch in kernel mode

我们正在执行“简单”的 Python 代码(最少依赖项 - numpy……)。

更新 3

我们将内核更新到 5.10.0,这是 Nvidia 驱动程序支持的最新版本。之前的代码运行正常,但突然又出现了 NMI 警告:

Message from syslogd@machine_name at May  1 07:50:04 ...
 kernel:[163210.925806] NMI watchdog: Watchdog detected hard LOCKUP on cpu 8

Message from syslogd@machine_name at May  1 07:50:04 ...
 kernel:[163210.925886] NMI watchdog: Watchdog detected hard LOCKUP on cpu 9

Message from syslogd@machine_name at May  1 07:50:04 ...
 kernel:[163210.925940] NMI watchdog: Watchdog detected hard LOCKUP on cpu 10

Message from syslogd@machine_name at May  1 07:50:04 ...
 kernel:[163210.925992] NMI watchdog: Watchdog detected hard LOCKUP on cpu 11

Message from syslogd@machine_name at May  1 07:50:04 ...
 kernel:[163210.926044] NMI watchdog: Watchdog detected hard LOCKUP on cpu 12

Message from syslogd@machine_name at May  1 07:50:04 ...
 kernel:[163210.926093] NMI watchdog: Watchdog detected hard LOCKUP on cpu 24

答案1

我已经在上面评论了我的情况,但帖子已经变得非常长了。因此,发布此帖作为对其他可能遇到类似问题但无法解决的人的回答。

长话短说,近两年来,我遇到过随机死机和BUG: soft lockup消息。我的机器运行的是 Ryzen 3900X、RTX 3090 GPU、MSI X570 Tomahawk 和 1200w PSU,以及 64 GB Corsair RAM 棒。我还会在 Windows 10 中随机出现 BSOD。

在这两年的时间里,我尝试了很多方法,包括更换大部分硬件组件(主板除外),但都无法解决这个问题。对我来说真正奇怪的是,从第一天起,我就无法在启用 RAM 的 XMP (AMP) 配置文件的情况下运行。

最后,这个问题是由于主板故障造成的!我把 Tomahawk 主板送去维修,但等了一个月后,他们告诉我无法找到替代品,所以他们不得不给我寄一张支票。我继续购买另一块主板(MSI MPG X570S Edge MAX)。瞧,这解决了我的问题!

新主板运行了大约一个月,没有任何问题。有趣的是,我现在可以启用 XMP 配置文件,并进行几天的压力测试,没有任何问题。

答案2

主要问题已通过 BIOS 更新得到解决。现在机器可以毫无问题地运行非常长时间的训练(全 GPU 运行长达 10 天),即使在多用户/多处理设置下也是如此。

仍然存在的一个问题是关于不运行任何程序时的暂停,我们已经尝试屏蔽暂停和休眠状态,但没有解决。

相关内容