本文首发于微信公众号【闫工的算力工具箱】,公众号 ID:
guganly。博客二次发布,方便站内搜索与归档。
【闫工的工具箱 · 交付实战】
我是闫工,数据中心搬砖的 CCIE。
凌晨 1 点,训练任务挂了。
业务方在群里@我:"卡坏了,赶紧换一张。"
先算笔账再动手:一张 A800 十万起步,换卡要走报修、等备件、重新压测,几天起不来;而如果是散热问题,清灰换硅脂几百块、半天搞定。差别这么大,所以别急着换。
我登录节点,nvidia-smi 一看,8 卡只剩 7 卡,消失的是 GPU 3。再查温度:93°C,Perf Reason 那一栏赫然写着 Throttling(芯片在"自我降速保命",就是标题里说的那个状态)。
卡没坏。是太热了,芯片在"自我降速保命"。
每年七八月,这是 GPU 集群最常被误判的故障。今天把完整的排查和修复流程写清楚:从确认告警、风道检查、清灰换硅脂到 vBIOS 更新,走完这一套,满载温度能压回 80°C 以内。
1. GPU 为什么会热到掉卡?
GPU 常年高负载(训练、推理、HPC),散热系统会慢慢劣化:
- 灰尘累积:散热鳍片堵了,风进不去;
- 硅脂老化:干了、裂了,热量导不出来;
- 风道受阻:线缆挡住、导风罩装错;
- 风扇老化:转速掉了,甚至直接停转。
散热能力一下降,核心/显存温度逼近阈值,芯片就开始降频保命,表现就是算力骤降、掉卡、甚至宕机。
记住一个认知:Throttling 不是坏了,是太热了。先查温度,别急着换卡。
2. 多热算"过高"?
不同型号上限不同。我把公开资料和运维经验交叉核对后的参考值列出来(以厂商 datasheet 为准):
| 型号 | 最高工作温度(参考) | 警戒线(建议) | 行动线(建议) |
|---|---|---|---|
| A100 SXM | ~83°C | >78°C | >83°C 持续 5 分钟 |
| H100 SXM5 | ~90°C | >85°C | >90°C 持续 5 分钟 |
| L40 / L40S | ~85~89°C | >82°C | >85°C 持续 5 分钟 |
| RTX A6000 | ~89~93°C | >85°C | >89°C 持续 5 分钟 |
⚠️ 说明:L40/L40S 不同来源给的是 85°C 或 89°C,RTX A6000 是 89°C 或 93°C,官方 datasheet 因 OEM 定制 vBIOS 有差异。最准的办法是看 nvidia-smi 自己报的阈值:
nvidia-smi -q -d TEMPERATURE | grep -i max
内部运维目标:满载 ≤80°C、稳定 ≤80°C,留足余量,别贴着上限跑。
3. 第一步:确认是不是真的"热"
登录节点,看温度域详情:
nvidia-smi -q -d TEMPERATURE
重点看四样:
- GPU Current Temp(核心温度)
- GPU Memory Temp(显存温度)
- Fan Speed(风扇转速)
- 有没有 Throttling 标记
温度逼近上限还带 Throttling,基本可以锁定掉卡元凶就是它。
4. 第二步:查风道和环境(先别拆机)
先别急着拆机,八成问题出在环境:
① 风道方向:必须"前进后出"(Front → Rear),检查有无线缆/面板挡风。 ② 相邻 GPU 间距:≥10mm,太挤会互相加热。 ③ 导风罩:确认 airflow shroud 装对了。 ④ 风扇转速:如果转速为 0 或明显偏低,风扇模组可能挂了:
# 看风扇传感器
ipmitool sensor | grep -i fan
⑤ 机房温度:冷通道建议低于 27°C,不然 GPU 散热再努力也白搭。
5. 第三步:清灰 + 换硅脂(停机操作)
环境没问题,那就是"积劳成疾",清灰换硅脂。
⚠️ 这是停机操作,流程要严谨。普通卡(A100 PCIe / RTX 系列)和高端卡(H100 SXM / 液冷)完全是两套玩法,下面分开讲。
5.1 普通卡(A100 PCIe / 风冷散热)
图:PCIe 卡正面 PCB 实物——拆下散热器后,中央 die 区还残留着导热硅脂的痕迹,周围是显存与供电电感。PCIe 卡的密度比 SXM 低,拆装风险也小很多,是绝大多数机房能自己上手的卡
# 1. 停止业务、断电、拔电源线
# 2. 拆下 GPU,防静电手环戴好
# 3. 无尘布 + 异丙醇清洁旧硅脂
# 4. 压缩空气反吹散热器灰尘
# 5. 按原装规格换导热硅脂/导热垫(厚度必须一致!)
# 6. 按编号原位回装螺丝
# 7. 上电复测
图:PCIe 散热鳍片特写——这就是 GPU 上方的风冷散热器内部,鳍片阵负责把热量带走。灰尘就藏在这片密集的铝片之间,压缩空气反吹是性价比最高的清理方式
5.2 高端卡(H100 SXM / 液冷冷板)
图:H100 整机内部——8 卡 SXM5 GPU 整齐排在 NVSwitch 周围,中央是金色散热鳍片。高密度集群就是这种"挤法",温度稍有异常就会被放大成全集群故障
⚠️ 风险极高。H100 TDP 约 700W,热界面材料是相变材料(PCM)+ 导热垫(putty pad),不是普通硅脂。拆机几乎必然作废保修,且存在损坏 die、HBM、PCB 或水冷系统的风险。
如果你是厂商授权人员,以下是一份浓缩要点:
准备工作:
- 完全断电,防静电手环、接地工作台
- Torx T10/T15 扭矩螺丝刀(典型扭矩约 0.4±0.05 N·m)
- 酒精清洁垫、新 PCM 套件、putty pad 套件
- 务必查阅对应机型服务手册(Lenovo SR780a V3、Dell PowerEdge XE9680 等)
拆卸冷板:
- 严格按冷板标签上的顺序,先每颗拧松约 720 度,再用扭矩螺丝刀完全松开
- 用运输支架固定水管,小心抬起冷板模块
- 用平头工具从角落轻轻撬开,切勿用力过猛或接触 GPU die 周围元件
清洁与更换 TIM:
- 用酒精清洁垫轻轻清除旧 PCM 和 putty pad
- 新 PCM:撕掉一侧保护膜,对准冷板标记贴上,按压排出气泡,停留 1-2 分钟再撕另一侧
- Putty pad(通常 5 个左右,覆盖 VRM):对准标记粘贴,轻压贴合
- PCM 更换后有热限制磨合期,需执行官方 PCM TIM 熔融程序
重新组装:
- 严格遵循对角线/指定顺序和扭矩值
- 通电后运行 nvidia-smi、DCGM、nvsm health 诊断和压力测试
5.3 三个致命坑(每个都踩出过教训)
下面这张是真实的反面教材——die 中央堆了一大坨、四周又没涂满:
图:GPU die 上残留的导热硅脂——中央堆得厚、四周没涂到。这种涂法会让局部接触不良,温度压不下来。正确做法是薄薄一层、用刮刀抹平,或用五点法让冷板压下时自然摊开。是不是和你在某些渠道上看到的"涂一大坨更稳"完全反着来?
| 坑 | 后果 | 正确做法 |
|---|---|---|
| 导热垫厚度不对 | 厚了压不实,薄了压不住,白干 | 必须与原装厚度一致(H100 的 putty pad 厚度因位置而异,务必记录原厂规格) |
| 压缩空气直吹风扇叶片 | 会把风扇吹坏 | 从散热器反方向吹,或固定扇叶后再吹 |
| 裸芯片(H100)螺丝单边锁紧 | 压裂 die,整块卡报废 | 必须对角线均匀锁,逐颗递增扭矩,不能一次性拧死 |
6. 第四步:复测压测
清完灰换完硅脂,上电压测:
nvidia-smi # 确认 8 卡全识别
./gpu_burn 300 # 满载烤 5 分钟
nvidia-smi -l 5 # 每 5 秒刷一次温度
合格标准:
- 满载 70~80°C
- 风扇转速随温度动态变化
- 无 Throttling、无掉卡
温度压稳后,建议再跑一遍 NVIDIA 官方的 DCGM 诊断(Data Center GPU Manager,包含 nvsm health、dcgmi diag -r 4 等子命令)。这是 NV 自家的"过一遍验机",比手写脚本更全:会从 inventory、connectivity、PCIe、NVLink、显存、性能几条线一起跑过一遍,绿色才算出厂状态。
下面这张就是修前那次跑出来的真实输出——inventory FAILED、connectivity FAILED,最后 Final Result: FAIL,红线拉到底:
图:DCGM 诊断输出(修前那次)—— inventory 失败说明 GPU 没被正确识别,connectivity 失败说明 PCIe / NVLink 链路有问题,gpustress 看似过了但整体 FAIL 依然不能交付。诊断跑完别只看 gpustress 那行,整体 Final Result 才是验收线
7. 进阶:vBIOS 也要查(仅授权人员)
如果清灰换硅脂后还热,可能是 vBIOS 版本太老、风扇曲线不合理:
# 查当前 vBIOS 版本
nvidia-smi -q | grep -i "VBIOS Version"
# 备份现有固件(必须!)
sudo nvflash64 --save backup.rom
# 解除写保护 + 刷写新固件
sudo nvflash64 --protectoff
sudo nvflash64 -6 new_vbios.rom
⚠️ vBIOS 更新是高危操作,必须先用 backup.rom 备份,OEM 机型(Dell/Inspur/Supermicro)用厂商专用工具,别硬刷公版。个人运维请跳过此步骤,直接联系原厂支持。刷错就变砖,没有后悔药。
8. GPU 高温排查决策树
为了让你不用把每一步都试一遍,我整理了这个决策树:
第一步:看温度(nvidia-smi -q -d TEMPERATURE)
- 满载 >85°C → 进入第二步
- 满载 <80°C → 问题不在温度,查 NCCL/驱动/PCIe
第二步:看风扇转速和 Throttling 标记
- 风扇满速 + 温度高 → 散热系统失效 → 进入第三步
- 风扇转速低 + 温度高 → 风扇模组故障 → 换风扇模组
- 有 Throttling 标记 → 温度越限,进入第三步
第三步:区分核心高温和显存高温
- 核心高(GPU Current Temp)→ 硅脂/冷板接触问题 → 清灰换硅脂
- 显存高(Memory Temp)→ 导热垫老化或风道问题 → 换导热垫 + 检查风道
9. 常见问题对照表
| 现象 | 可能原因 | 动作 |
|---|---|---|
| 温度高但风扇转速低 | 风扇模组故障 / 风道受阻 | 换风扇模组;清风道导风罩 |
| 清灰换硅脂后仍高温 | 导热垫厚度不符 / 热管泄漏 | 换整套散热模组 |
| 掉卡 / Throttling | 温度越限触发降频 | 复核风道、功耗、环境温度 |
| 刷固件后异常 | 刷错/非定制 vBIOS | 用 backup.rom 回刷,联系原厂 |
| 相邻 GPU 温差大 | 间距不足 / 缺导风罩 | 保证 ≥10mm 间距,加装导流罩 |
| 清灰换硅脂后温度不降反升 | H100 冷板未跑 PCM 磨合期 / 扭矩不对 | 执行官方 PCM 熔融程序;重装冷板确认扭矩 |
10. 长期防复发
- 每 12 个月换一次导热材料;
- 每季度清一次风道;
- 上 Prometheus + nvidia_gpu_exporter 做温度趋势监控,别等告警才处理;
- GPU 并排安装时加装风道隔板/导流罩。
结尾 · 下期预告
温度压下来了,机器稳了。
但有些时候,机器没热坏,却被手滑格式化搞坏了。下期聊聊 ESXi 系统盘被格式化后,虚拟机数据还能不能救——只要数据盘没被碰过,就还有戏。
关注【闫工的算力工具箱】,硬核实战经验,带你轻松避坑!
更多自研运维工具,点底部菜单「工具箱 → 运维脚本工具」直接逛。
脱敏说明
- 文中温度为通用运维目标值(满载 ≤80°C),不同 OEM vBIOS 实际上限以厂商支持文档为准。
- 温度阈值经公开资料交叉核对(A100 SXM ~83°C / H100 SXM5 ~90°C 各来源一致;L40/L40S 85~89°C、RTX A6000 89~93°C 因 OEM 定制存在差异),以 nvidia-smi 上报值为准。
图文摘要
- 5 张实拍:H100 整机内部全景(8 卡 SXM5 集群)、PCIe 卡正面 PCB(die+显存)、PCIe 散热鳍片特写、GPU die 硅脂涂抹反面教材、DCGM 诊断 FAIL 输出。