服务器跑着训练任务,突然8卡变7卡——这是运维最头疼的场景之一。掉卡可能只是驱动抽风,也可能是底板焊点已经开裂。这篇手册给你一条从软件到硬件的五层排查路径,帮你判断该重启还是该送修。
基于我们处理过的服务器GPU故障案例统计:
| 成因层级 | 占比 | 典型表现 |
|---|---|---|
| NVSwitch / NVLink 链路 | 约 40% | 多卡环境,伴随拓扑报错 |
| GPU卡自身硬件故障 | 约 30% | 该卡单独异常,其他卡正常 |
| 底板插槽 / 金手指氧化 | 约 20% | 接触不良,重启偶发恢复 |
| 驱动 / BIOS 配置 | 约 10% | 重启恢复,更新驱动可解 |
注意:软件层问题只占10%,所以"重启试试"能解决的比例并不高。反复重启只是拖延。
nvidia-smi # 看当前识别到几张卡 nvidia-smi -q | grep -i "error" # 查看是否有XID错误 dmesg | grep -i "nvrm\|nvidia" # 查内核日志
重点记录XID 错误码,这是NVIDIA定义的标准故障分类,直接指向问题性质:
| XID | 含义 | 倾向 |
|---|---|---|
| 13 | 显存相关错误 | 显存颗粒故障 |
| 31 | GPU内存页错误 | 显存或驱动 |
| 48 | 双重比特错误(ECC) | 显存颗粒确认故障 |
| 74 | NVLink错误 | 链路或NVSwitch |
| 79 | GPU已掉线 | 硬件掉卡 |
| 119 | GSP错误超时 | 固件或硬件 |
重启后观察:
这是判断"卡坏还是板坏"最有效的方法:
| 结果 | 结论 |
|---|---|
| 卡换到哪都不认 | 卡本身故障 |
| 卡换位置正常,正常卡换到原槽异常 | 插槽或底板故障 |
| 两张卡都出现异常 | 底板 / NVSwitch 问题 |
PCIe 卡可检查:
SXM 卡需返厂或送检,因为需要专用工装拆卸。
满足以下任一条,建议送修:
掉卡反复出现的代价常被低估:
| 影响 | 说明 |
|---|---|
| 训练任务中断 | 分布式训练掉一卡常需整体回滚checkpoint,浪费数小时到数天算力 |
| 故障扩散 | 底板虚焊点会因电流反复冲击持续扩大,从单槽问题演变为多槽 |
| 连带损伤 | 供电异常可能连累相邻卡,一卡故障变成一批故障 |
实践中的经验数据:出现反复掉卡的服务器,若一个月内不处理,后续维修成本平均上升到早期处理的三倍左右——因为故障已从单点扩散。
nvidia-smi -q | grep -A5 "ECC Errors",ECC错误上升是显存老化的早期信号