GPU 监控指标与 XID 故障速查——一线运维的 6 张表
nvidia-smi 看什么、DCGM 看什么、出现 XID 79 / XID 31 / XID 119 该怎么判定,是给运维和故障升级用的速查手册。
上下文
我们在多个客户的多机房集群上跑过一段时间 H100 / A100 / 4090,整理了一份"出问题第一时间该看什么"的速查。下面六张表覆盖:必看指标、必装工具、最常见的 XID 错误、温度与功耗阈值、什么时候该返厂——直接背下来即可。
表 1:nvidia-smi 必看的 8 个字段
nvidia-smi --query-gpu=index,name,temperature.gpu,utilization.gpu,memory.used,memory.total,power.draw,ecc.errors.uncorrected.volatile.total --format=csv| 字段 | 健康线 | 意义 |
|---|---|---|
temperature.gpu | H100 < 85°C / A100 < 88°C | 持续超过则触发热降频 |
utilization.gpu | 训练 >= 90% / 推理看负载 | 训练常年 <70% 一定是数据 / 调度瓶颈 |
memory.used | 可达总量 95% | 但留 1–2GB 给 NCCL buffer |
power.draw | H100 SXM <= 700W | 超过这个数 BMC 会拉电压 |
ecc.errors.uncorrected.volatile.total | 必须为 0 | 非 0 立刻迁移工作负载 |
pstate | 训练时 P0 | P2 表示空转 |
表 2:DCGM 才看得到的指标
nvidia-smi 取样 1Hz,颗粒度太粗。生产环境跑 dcgm-exporter 输出 Prometheus 格式,重点采:
| 指标 | 用途 |
|---|---|
DCGM_FI_PROF_SM_ACTIVE | SM 真实活跃率(vs utilization.gpu 是占用率) |
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE | Tensor Core 利用率,<30% 说明算子未走 TC |
DCGM_FI_PROF_DRAM_ACTIVE | HBM 带宽利用率 |
DCGM_FI_PROF_NVLINK_TX/RX_BYTES | NVLink 流量,单方向应 < 900 GB/s |
DCGM_FI_DEV_XID_ERRORS | 每秒 XID 错误计数 |
GPU 利用率 90% + Tensor Core 利用率 25% 的常见画像 = "你在用 fp32 跑本来该 fp16 跑的算子"。
表 3:高频 XID 错误怎么处理
| XID | 含义 | 一线动作 |
|---|---|---|
| 13 | Graphics Engine Exception | 驱动层 bug 或代码越界,重启进程,多次复现要降驱动版本 |
| 31 | MMU fault, address out of range | 多半是用户代码 bug(CUDA 越界),不是硬件 |
| 43 | GPU stopped processing | 进程崩了或 OOM,重启容器即可 |
| 63 | ECC page retirement | HBM 出现可纠正错误已被屏蔽,记一次 |
| 64 | ECC page retirement failure | 屏蔽失败,立即下线 |
| 74 | NVLink error | 检查 nvidia-smi nvlink -e,多张卡同时报 → 重启节点 |
| 79 | GPU has fallen off the bus | 硬件故障,重启不解决就报修 |
| 119 / 120 | GPU Confidential Compute / unrecoverable HBM | 不可恢复,下线返厂 |
我们的现场策略:XID 13/31/43 自动重试一次;XID 63 累计 > 5 次的卡迁移工作负载并标记观察;XID 64/79/119/120 直接 cordon 节点 + 升级到硬件团队。
表 4:日志在哪
# 内核侧
dmesg -T | grep -i -E "nvrm|nvidia|xid"
journalctl -k --since "1 hour ago" | grep -i nvidia
# 用户态(持久)
/var/log/nvidia-installer.log
/var/log/syslog 或 /var/log/messages
# DCGM 健康检查
dcgmi diag -r 3 # 30 分钟级体检(Lv3)
dcgmi diag -r 1 -j > diag.json # 5 分钟快速体检XID 出现一定带时间戳抄到工单里,硬件返厂时间一长就追溯不到了。
表 5:温度 / 功耗的实操阈值
| 卡 | 入风温度 | GPU temp 报警 | GPU temp 强降频 | 单卡功耗上限 |
|---|---|---|---|---|
| H100 SXM5 | <= 32°C | 85°C | 92°C | 700W |
| H100 PCIe | <= 30°C | 84°C | 91°C | 350W |
| A100 SXM4 | <= 30°C | 85°C | 92°C | 400W |
| 4090 | <= 30°C | 83°C | 88°C | 450W |
入风温度超 35°C 就该找机房,不是找 NVIDIA——绝大多数客户的"性能突然下降"问题最后都是空调 / 风道。
表 6:什么时候该返厂
ecc.errors.uncorrected.volatile.total任何时刻非 0dcgmi diag -r 3任意子项报 FAIL- XID 64 / 79 / 119 / 120 出现一次
- HBM 累计退役页 > 64
- NVLink 单链路 CRC error rate > 1e-9
满足以上任何一条,迁移工作负载并联系硬件运营。九章智算云的客户在控制台 → "节点健康"页面可以看到这些聚合指标,超过阈值会自动产生工单。
最后更新于
这篇文档对你有帮助吗?
