gpu故障排查

‌一、基础状态检测

1.‌GPU 识别检查

lspci | grep -i vga # 确认 GPU 是否被系统识别(输出含 NVIDIA/AMD 型号):ml-citation{ref=“1,8” data=“citationList”}

lsmod | grep nvidia # 检查 NVIDIA 驱动加载(AMD 替换为 amdgpu):ml-citation{ref=“8” data=“citationList”}

2.运行状态监控

nvidia-smi # NVIDIA 状态检测(关键指标:温度/功耗/利用率):ml-citation{ref=“3,8” data=“citationList”}

rocm-smi # AMD GPU 状态(需安装 ROCm)

watch -n 1 “nvidia-smi -q -d temperature” # 实时温度监控:ml-citation{ref=“3” data=“citationList”}

.‌二、关键故障诊断‌

‌1. 驱动与内核问题
dmesg | grep -i ‘gpu|drm|nvidia’ # 检查内核日志中的 GPU 报错:ml-citation{ref=“3,5” data=“citationList”}

journalctl -b -0 | grep -i xid # NVIDIA 专用错误码分析(如 Xid 43/48):ml-citation{ref=“3” data=“citationList”}

‌驱动冲突处理‌:

sudo apt purge nvidia # 彻底卸载驱动

sudo ubuntu-drivers autoinstall # 重装推荐版本

‌2. 硬件状态验证

sudo lshw -C display # 显示 GPU 详细硬件信息:ml-citation{ref=“7” data=“citationList”}

sudo sensors # 检测 GPU 温度传感器(需安装 lm-sensors):ml-citation{ref=“5,7” data=“citationList”}

‌电源状态分析‌:
dmesg | grep -i ‘D0’ # 检查全功率状态记录(异常 D0 转换可能导致崩溃):ml-citation{ref=“3” data=“citationList”}


3. 压力测试工具

NVIDIA 官方测试

sudo nvidia-xconfig -a # 生成基础配置

sudo nvidia-modprobe # 强制加载模块

glxgears # 基础 OpenGL 测试

AMD 测试

clinfo # OpenCL 设备检测

‌三、高级硬件诊断‌

‌检测项‌ ‌ 命令/方法‌ ‌ 故障指示‌

‌PCIe 连接‌ lspci -vvv -s 01:00.0 LnkSta: Speed < 预期值7

显存故障‌ sudo memtester 4G 系统内存测试间接验证7

‌供电稳定性‌ 万用表测量 12V/5V 电源轨 电压波动 > ±5% 需更换电源

‌散热系统‌ 红外测温枪扫描散热片 温差 > 15℃ 提示散热失效

‌四、故障场景速查表‌

‌现象‌ ‌优先排查方向‌ ‌ 解决方案‌

系统死机+内核 GPU 错误 内核日志 + 温度监控 ① 更新驱动 ② 改善散热 ③ 限制 GPU 功耗3

应用程序报 CUDA/OpenCL 错误 nvidia-smi 状态 + CUDA 版本 ① 验证 CUDA 兼容性 ② 重装驱动开发包

屏幕闪烁/显示撕裂 Xorg 日志 + 显存测试 ① 更换视频线 ② 降低刷新率 ③ 测试显存

GPU 设备未识别 BIOS/UEFI 设置 + PCIe 插槽检测 ① 启用 Above 4G Decoding ② 更换插槽

查看GPU识别数量

lspci | grep -i nvidia(查看gpu识别数量命令)

lspci -d 1d22: //这个也可以使用,上面那个识别不出来的话

nvidia-smi -q -i 0 //查看第一块GPU信息,不加-i查看所有GPU信息

nvidia-smi -q | grep “Serial Number” //查看所有gpu的SN

1、nvidia-smi 查看数量

2、lspci | grep -i nvidia 查看详细信息

3、nvidia-smi -q | grep -i serial 获取GPU序列号

4、ipmitool sdr | grep -i gpu

5、nvidia-smi -l

6、xpu_smi

7、lspci |grep -i Display (中科、海光)

8、curl -s 设备主机名:428/xpu |grep sn"

  1. nvidia-smi -q | grep -i “vbios”

收集GPU日志可参考:

1) 执行lspci -tv, lspci -vvvxxx,获取结果

2) 收集dmesg、message日志

3) 执行nvidia-smi -q, nvidia-smi nvlink -s, nvidia-smi topo -m, nvidia-smi topo -p2p r 获取结果

4) /usr/bin/nvidia-bug-report.sh收集nvidia_bug_report日志。

Logo

分享最新的 NVIDIA AI Software 资源以及活动/会议信息,精选收录AI相关技术内容,欢迎大家加入社区并参与讨论。

更多推荐