gpu故障排查
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"
- 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日志。
更多推荐




所有评论(0)