nvlink - 报错74
-
Jun 04 15:47:14 aiserver kernel: NVRM: Xid (PCI:0000:02:00): 74, NVLink: fatal error detected on link 3(0x0, 0x0, 0x0, 0x40000, 0x0, 0x0, 0x0)
Jun 04 15:47:14 aiserver kernel: NVRM: Xid (PCI:0000:81:00): 158, - timeout error waiting for NV_UFLUSH_FB_FLUSH = 0x3 cnt=948397
Jun 04 15:47:14 aiserver kernel: NVRM: Xid (PCI:0000:81:00): 74, NVLink: fatal error detected on link 3(0x0, 0x0, 0x0, 0x40000, 0x0, 0x0, 0x0)
Jun 04 15:48:44 aiserver kernel: NVRM: Xid (PCI:0000:02:00): 154, GPU recovery action changed from 0x0 (None) to 0x1 (GPU Reset Required)
Jun 04 15:49:14 aiserver kernel: NVRM: Xid (PCI:0000:81:00): 154, GPU recovery action changed from 0x0 (None) to 0x1 (GPU Reset Required)我感觉好像买到坏的nvlink 了
有没有高手救命? -
@applejuice NVLink Xid 74 是 NVLink 链路物理层报错,通常不是软件问题。从日志看,link 3 出现 fatal error,随后触发了 GPU recovery(Xid 154)。
几个排查方向:
-
检查 NVLink bridge 是否插紧。如果有多个 bridge,可以互换位置测试。特别是 link 3 对应的 bridge,重新插拔一下。
-
检查 GPU 温度。日志里连续两个 GPU 都报了 NVLink error,可能是其中一张卡过热导致 NVLink 通信不稳定。跑负载时看一下 nvidia-smi 的温度。
-
检查电源。双卡 NVLink 对瞬态功耗要求很高,如果电源余量不足或者用的是转接线,容易出现供电不稳导致的链路错误。
-
驱动版本。日志里是 open kernel module 吗?如果是,试试切到 proprietary 版本(nvidia driver 的 closed source 版本),有时候 open kernel module 的 NVLink 稳定性不如 proprietary。
-
如果以上都排查过还是报错,尝试在 /etc/modprobe.d/nvidia.conf 里加一行禁用 NVLink P2P:
options nvidia NVreg_EnableNVLinkP2P=0
然后重启。这会禁用 P2P 直通但保持 NVLink 带宽,某些主板上更稳定。
可以先把 nvidia-smi topo -m 的输出贴一下看看 NVLink 拓扑是否正常?
-
-
@applejuice NVLink Xid 74 是 NVLink 链路物理层报错,通常不是软件问题。从日志看,link 3 出现 fatal error,随后触发了 GPU recovery(Xid 154)。
几个排查方向:
-
检查 NVLink bridge 是否插紧。如果有多个 bridge,可以互换位置测试。特别是 link 3 对应的 bridge,重新插拔一下。
-
检查 GPU 温度。日志里连续两个 GPU 都报了 NVLink error,可能是其中一张卡过热导致 NVLink 通信不稳定。跑负载时看一下 nvidia-smi 的温度。
-
检查电源。双卡 NVLink 对瞬态功耗要求很高,如果电源余量不足或者用的是转接线,容易出现供电不稳导致的链路错误。
-
驱动版本。日志里是 open kernel module 吗?如果是,试试切到 proprietary 版本(nvidia driver 的 closed source 版本),有时候 open kernel module 的 NVLink 稳定性不如 proprietary。
-
如果以上都排查过还是报错,尝试在 /etc/modprobe.d/nvidia.conf 里加一行禁用 NVLink P2P:
options nvidia NVreg_EnableNVLinkP2P=0
然后重启。这会禁用 P2P 直通但保持 NVLink 带宽,某些主板上更稳定。
可以先把 nvidia-smi topo -m 的输出贴一下看看 NVLink 拓扑是否正常?
-
-
@applejuice 感谢补充信息!
230W的功耗墙确实偏低了(3090默认TDP是350W),长上下文时NVLink需要搬运大量数据,功耗受限可能触发保护机制。建议试试
nvidia-smi -pl 300把功耗限制提高到300W,看稳定性有没有改善。另外几个排查方向:
- 重新插拔NVLink桥 — 有时候接触不良会导致Xid 74,拆下来金手指擦一下再装回去
- 排查是否是桥的问题 — 可以进持久化模式后
nvidia-smi nvlink -s查看链路状态,或者暂时关掉NVLink(驱动里加NVreg_EnableNVLink=0或者bios里关)跑跑看,如果关了以后不出错了,那就是桥或槽的问题 - 降显存频率 — 用
nvidia-smi -lmc 5001把显存锁在一个较低的频率,有时候能缓解NVLink信号稳定性问题 - 查看dmesg —
dmesg | grep -i nvlink看看有没有更详细的错误信息
长上下文触发这个很典型——双卡共享显存时NVLink压力最大,建议先从功耗和桥接触两个方向排查。