【GPU服务器常见的故障以及排查思路】

发布时间:2026/9/15 8:25:44
【GPU服务器常见的故障以及排查思路】 GPU服务器常见的故障以及排查思路适用场景NVIDIA Tesla / A100 / H100 等数据中心卡使用姿势先5 分钟快速定性再进入对应章节闭环处理。禁止跳过定性直接换卡或重装驱动。第 1 章 · 5 分钟快速定性所有工单的第一动作目标在 5 分钟内把故障圈定到硬件 / 驱动栈 / 资源 / 环境四大桶之一。这一章是全篇最重要的部分——跳过大定位直接拆机/重装是运维新手最常见的资源浪费。1.1 一分钟信息收集nvidia-smi-L# 列所有可见 GPU对比 inventory缺卡硬件嫌疑nvidia-smi --query-gpuindex,name,temperature.gpu,power.draw,memory.used,ecc.errors.uncorrected,utilization.gpu--formatcsv-l1lspci-nn|grep-invidia# 对比 nvidia-smi -LPCI 可见但 smi 不可见驱动栈问题dmesg-T|grep-iEnvidia|nvrm|pci|tail-50journalctl-unvidia-persistenced-n100--no-pager1.2 决策树照表走不要凭感觉现象第一判断跳转nvidia-smi无输出 /No devices were foundPCIe 层 or 供电§1.1 → §3.1lspci能看到nvidia-smi看不到驱动栈90% 不是坏卡§2.1GPU 在但Failed to initialize NVML: version mismatch驱动残留/升级不完整§2.1ECCDouble-bit持续增长硬件死刑§1.2单卡掉算力、其他卡正常先软后硬二分§1 §2满负载时随机掉卡供电 / 散热原文最易漏§3多卡训练 NCCL 报错互联层§41.3 黄金法则交叉验证是唯一能 100% 定硬件的手段§1.1但成本最高放最后一步。先软后硬、先易后难重启 → 重装驱动 → 换槽 → 换机 → 换卡。跳过前面的步骤赌运气。改任何东西之前先留快照nvidia-smi -q、BIOS 设置、/var/log/dmesg否则无法回滚对比。不要在有业务的节点上裸操作——先kubectl drain/ 从调度池摘出 /nvidia-smi mig -dgi清场。第二章 · 硬件层故障判定标准交叉验证后仍异常。处理动作基本是RMA / 换卡 / 换主板。2.1 GPU 本体或 PCIe 链路异常症状nvidia-smi无输出或设备树不完整-L数量 实际卡数能识别但State: Error显存显示为 0 或异常值开机黑屏 / VGA 无输出 / 主板 BMC 日志报PCIe Training Error任务侧CUDA error: unknown error、CUDA driver error 999排查严格按序禁止跳步# Step 1: 二分——是卡的问题还是槽/主板的问题# A 机坏卡嫌疑 -- B 机好卡# 交换后谁坏谁硬件问题换到好槽就好主板/槽问题lspci-vv-sgpu_bdf|grep-iElspci|link|l1|aspm# 看 PCIe 协商宽度/代际nvidia-debugdump-f/var/tmp/nv_dump_$(date%s).log# 厂商 RMA 必带物理操作清单断电、防静电、双人复核重新拔插供电线 金手指橡皮擦清理金手指氧化层确认供电线足额A100 需 2×8PinH100 SXM 走主板供电严禁一拖二转接线换 PCIe 插槽排除槽位/通道问题关闭 BIOS 中 ASPM、Above 4G Decoding 异常项交叉验证定案依据嫌疑卡换到已知好机好卡换到嫌疑槽。结论唯一。处理交叉后卡仍异常 →硬件损坏走 RMA保留nv_dump日志给厂商能显著缩短售后周期换槽即好 → 主板 PCIe 通道 / 槽位故障 → 换主板或迁移到空闲槽注意 SXM 形态H100/H200卡焊接在 GPU BaseboardOAM上故障往往要整板 RMA不能单独换卡2.2 ECC 显存错误症状nvidia-smi -q | grep -A8 ECC Errors中Uncorrected持续增长训练随机CUBLAS_STATUS_EXECUTION_FAILED/device-side assert。关键认知原文需要强化的点ECC 只能纠正 Single-bitDouble-bit 是不可恢复错误UE一旦出现即硬件死刑没有观察的价值——继续跑会把数据静默损坏直接隔离该卡Volatile计数重启清零Aggregate累计才是判断渐进劣化的关键nvidia-smi-q|grep-A12ECC Errors# 对单卡做显存压力观察 UE 是否新增cuda-memcheck --leak-check full ./your_app gpu-burn300处理错误类型动作Single-bit 偶发、Aggregate 不增长观察记录基线Single-bit 持续递增48h 观察窗口后仍有增长 → 换卡Double-bit (UE) 任何一次立即隔离RMA。不可再上线训练⚠️ 数据中心卡 ECC 默认开启不要主动关——关 ECC 换来的多一点可用显存远抵不上静默数据损坏的风险。2.3 散热 / 风扇 / 温度传感器症状nvidia-smi显示 90℃ 后降频clocks_throttle_reasons含HW_SLOWDOWN/SW_THERMAL风扇异响/不转device-side assert伴随温度尖峰。nvidia-smi-q-i0|grep-A15-iEtemperature|fan|throttleipmitool sdrtypefan处理清灰压缩空气先关机断电→ 仍异常则换同型号风扇硅脂干涸 / 散热模组老化 → 返厂换模组临时兜底不要当长期方案nvidia-smi -pl 250降压降功耗墙保住不宕机但算力受损需在工单标注温差异常 → 优先查 §3.2 机房/风道而非换卡第三章 · 软件 / 驱动栈故障判定标准lspci能看到 GPU但软件层异常。绝大多数我卡坏了的工单落在这里且不需要换硬件。3.1 Driver / NVML 异常高频且最容易被误判为坏卡症状Failed to initialize NVML: Driver/library version mismatch←经典驱动残留/内核升级后未重编译nvidia-persistenced起不来no kernel image is available for execution on the device← SM 架构与 CUDA 不匹配如 sm_90 的 H100 用了旧 toolkit排查uname-rcat/proc/driver/nvidia/version# 内核 vs 驱动版本lsmod|grep-Envidia|nvidia_uvm# 模块是否加载dpkg-l|grep-invidia# 或 rpm -qa | grep -i nvidia # 多版本共存冲突标准重装流程先快照再清理# Ubuntu/Debiansudoapt-getpurge-ynvidia*libnvidia*sudoapt-getautoremove-ysudoapt-getautoclean# RHEL/CentOSsudoyum remove-ynvidia*sudorm-rf/usr/local/cuda* /usr/lib/xorg/modules/extensions/libglx.so*sudoreboot# 重启后用官方 .run 或 distro 包装回与内核匹配的版本⚠️坑点apt purge后务必确认/lib/modules/$(uname -r)/...无残留.ko用 DKMS 管理驱动时先dkms remove否则重启仍 mismatch。原文只给了 purge这里补上。版本兼容速查nvidia-smi顶部CUDA Version: xx.x 该驱动支持的最高CUDA不是已安装版本PyTorch/TF 需同时满足driver ≥ 最低要求且CUDA toolkit 匹配。3.2 CUDA / CuDNN / 框架版本错配症状Could not load dynamic library libcudart.so.xx、CUDNN_STATUS_INTERNAL_ERROR、训练报错的代码推理正常。nvcc-Vcat/usr/include/cudnn_version.h|grep-ECUDNN_MAJOR|CUDNN_MINOR-A1python-cimport torch; print(torch.version.cuda, torch.cuda.is_available())处理强烈推荐 Conda/容器隔离禁止系统级混装conda create-ntorch2python3.10condainstallpytorch torchvision pytorch-cuda11.8-cpytorch-cnvidia生产集群用Pyxis/Enroot 版本化的 container image是最稳的方案从根本上消灭某台机器驱动版本不一样的问题。3.3 显存泄漏 / 僵尸占用集群最常见的假坏卡症状nvidia-smi显存Used ≠ 0但Processes为空反复跑任务后 OOM重启任务也释放不掉。fuser-v/dev/nvidia*# 找真正持有 fd 的 PIDnvidia-smi pmon-sm# 实时显存监控处理sudokill-9PID# 不重启节点释放 UVM生产节点免重启救命操作sudormmod nvidia_uvmsudomodprobe nvidia_uvm频繁复现 → 升级驱动到稳定 LTS如 535 → 545/550 稳定分支或修框架 bug / 升级 PyTorch根治任务框架加--empty_cache钩子 任务结束自动清场GPU operator 里设fail-on-eviction告警第四章 · 物理环境 / 供电最易被忽略也是神秘掉卡真凶4.1 供电不足 / 掉电症状8 卡满负载时部分卡离线、机器触发 PSU 保护重启、供电线接口发热发烫肉眼可见危险、功耗在 400W↔100W 剧烈抖动。快速核算装机前必算原文数字要更新GPU单卡 TDPN 卡最小 PSU含 20% 冗余A100 80GB PCIe300W8 卡 ≈ 3200W整机建议 3500WH100 SXM700W8 卡 ≈ 6000W必须用 HGX 底座 双 PSU 阵列⚠️ 原文8×400W4000W是按老 A100 SXM 400W 算的现已过时。务必按实际 TDP 重算并给 PSU 留 20% 冗余 考虑 CPU/内存/风扇功耗。ipmitool sensor|grep-iEpsu|power|voltage# BMC 电源传感器# 万用表测 12V 供电正常 ±5%处理换足额白金/钛金 PSU、供电线足额不转接、不一拖二、机房加 UPS任何接口发热立即下电检修不可带病运行。4.2 环境温度 / 风道症状机房 28℃ 后集体降频、中间卡温度显著高于边缘卡≥10℃、高温时段集中掉卡。ipmitool sdrtypefan nvidia-smi --query-gpuindex,temperature.gpu--formatcsv处理机房 20–25℃ / 湿度 40–60%修空调、补冷通道风道整治优先级 换风扇消除冷热通道短路、保证 GPU 间距 ≥2cm、加装导风罩密度上限4U 机箱建议 ≤4×A100SXM 卡必须用厂商认证机箱季节性预案高温季提前降压降密度避免集体掉卡第五章 · 集群互联层NVLink / NVSwitch / InfiniBand症状多卡训练NCCL error: unhandled system error、NVLink 链路Down、多卡吞吐远低于线性加速比。nvidia-smi nvlink--status-i0nvidia-smi topo-m# 看 P2P / NVLink / PCIe 拓扑# NCCL 自检定位是 NCCL 还是硬件nccl-tests/build/all_reduce_perf-b8M-e16G-f2# IB 层ibstat|grep-iEstate|physical处理重新拔插 NVLink 桥接器PCIe 形态或排查 NVSwitch 健康SXM换桥接器/线缆接口损坏换卡版本一致性同一 NVLink gen、同驱动、同 NCCL 版本禁止混部IB 问题单独走ibv_devinfo/opensm日志不要把 IB 掉线误判成 GPU 坏卡第六章 · 工具箱清单6.1 诊断 / 压力测试工具用途nvidia-smi/-q/-L状态、驱动、显存/功耗/温度、ECC、NVLink§0 全套nvidia-debugdumpRMA 必带的 GPU 内部日志cuda-memcheck/compute-sanitizerCUDA 内存/越界错误新版本用后者gpu-burn满负载稳定性烤机./gpu_burn 300nccl-tests多卡通信正确性带宽基准dcgm(nv-hostenginedcgmi diag)数据中心级健康检查dcgmi diag -g all一键全检强烈推荐6.2 系统层lspci-nn|grep-invidia# PCIe 识别dmesg-T|grep-iEnvidia|nvrm|pcijournalctl-unvidia-persistenced ipmitool sdr / sensor# 风扇、PSU、温度BMCfuser-v/dev/nvidia*# 显存占用进程第七章 · 预防体系7.1 监控告警把坏卡在发生前抓出来Prometheus Grafana nvidia-dcgm-exporter采集温度、功耗、ECCAggregate、降频原因、PCIe 重训练计数、NVLink 误码告警规则示例temperature.gpu 85持续 5minecc_errors_uncorrected 0UE 一次即告警clocks_throttle_reasons_hw_slowdown 1pcie_link_width_current pcie_link_width_max链路降级 即将掉卡每日定时dcgmi diag -g all巡检输出入库对比基线7.2 变更 / 装机规范驱动固定LTS 稳定分支535 / 550禁止追新内核升级必须联动重编驱动镜像化交付Pyxis/Enroot 版本化 container杜绝节点间环境漂移装机前做48h burn-ingpu-burn nccl-tests dcgm 全检DOA 在早期筛掉配置管理驱动/BIOS/固件版本全部纳入 CMDB统一基线7.3 硬件 / 机房 SLA电源冗余 ≥20%足额直连供电禁止转接线定期清灰3–6 月 年度硅脂更换 风扇寿命管理机房温湿度 UPS 冷热通道标准化硬件批次缺陷监控同批集中坏卡 → 批量 RMAA · 处置优先级安全红线重启服务 → 释放 UVM / 清显存 → 重装驱动 → 换 PCIe 槽 → 交叉验证 → 换卡 RMA红线 1任何供电接口发热/烧焦 → 立即下电禁止带电操作红线 2出现 ECC UE → 立即隔离禁止继续跑训练静默数据损坏红线 3操作前必须 drain 节点、备份日志禁止在生产节点裸改总结A 交叉验证后仍不识别 → 硬件换/修仅在特定服务器/系统复现 → 软件/供电按桶排查。BECC UE 死刑立刻隔离能救的先救驱动别急着换卡。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询