ROCm系统日志分析:dmesg与rocm-smi排查GPU故障
【免费下载链接】ROCm AMD ROCm™ Software - GitHub Home 项目地址: https://gitcode.com/GitHub_Trending/ro/ROCm
在ROCm(Radeon Open Compute Platform)环境中,GPU故障排查需要结合系统日志与专用工具。本文将详细介绍如何通过dmesg命令分析内核日志,以及使用rocm-smi工具监控GPU状态,快速定位和解决常见硬件问题。
内核日志分析:dmesg命令基础
dmesg命令用于查看Linux内核环缓冲区信息,包含系统启动时的硬件初始化过程及运行中的错误报告。当GPU出现驱动加载失败、显存错误或PCIe通信问题时,相关日志会实时记录到内核缓冲区。
关键日志筛选方法
使用以下命令提取与AMD GPU相关的日志:
dmesg | grep -iE 'amdgpu|rocm|kfd'
常见错误类型及对应日志特征:
- 驱动加载失败:包含"amdgpu: probe of ... failed with error -16"
- 显存错误:出现"VRAM ECC error detected"或"page fault"
- PCIe链路问题:显示"PCIe Bus Error"或"link training failed"
ROCm专用监控工具:rocm-smi
rocm-smi(ROCm System Management Interface)是AMD提供的GPU管理工具,可实时监控功耗、温度、显存使用等关键指标,支持查询硬件拓扑和设置性能参数。
基础硬件信息查询
查看GPU型号与核心参数:
rocm-smi --showhw
查看系统拓扑结构,识别GPU间连接方式:
rocm-smi --showtopo
实时状态监控
连续监控GPU温度与功耗:
rocm-smi -l 1 # 每秒刷新一次
关键监控指标说明:
- Temperature:核心温度(正常范围<95°C)
- Power Usage:实时功耗(峰值不应持续超过TDP)
- VRAM Usage:显存占用(异常增长可能指示内存泄漏)
故障排查实战流程
步骤1:检查驱动加载状态
结合dmesg与rocm-smi确认驱动是否正常加载:
dmesg | grep -i 'amdgpu: module loaded' # 检查内核模块
rocm-smi --list-gpus # 验证GPU识别
若rocm-smi无输出且dmesg显示"kfd module not loaded",需重新安装ROCm驱动:
sudo apt reinstall rocm-hip-sdk
步骤2:分析硬件错误日志
当GPU发生崩溃时,按以下流程诊断:
- 提取故障时间点前后的内核日志:
dmesg --since "10 minutes ago" | grep -i error
- 使用
rocm-smi检查异常指标:
rocm-smi --showpower --showtemp --showmem
- 参考官方故障排除指南:系统调试文档
步骤3:性能参数调整
若日志显示"thermal throttling",可通过以下命令降低功耗上限:
rocm-smi --setpowercap 225 # 设置功耗上限为225W
高级诊断工具集成
结合ROCm Bandwidth Test
验证GPU间通信带宽,排查PCIe链路问题:
rocm-bandwidth-test
固件版本查询
确认GPU固件是否匹配当前驱动版本:
sudo cat /sys/kernel/debug/dri/1/amdgpu_firmware_info
常见故障案例分析
案例1:显存错误导致程序崩溃
症状:应用运行中突然退出,dmesg显示"uncorrectable ECC error" 解决方案:
- 运行显存压力测试:
rocm-smi --memtest - 若持续报错,联系厂商更换GPU
案例2:多GPU通信失败
症状:分布式训练时出现"RDMA connection timeout" 排查步骤:
- 检查拓扑结构:
rocm-smi --showtopo - 验证PCIe连接:
lspci | grep -iE 'vga|3d controller' - 参考NUMA配置指南:MI300X优化文档
日志与监控工具结合使用建议
建立常态化监控机制:
- 设置
dmesg日志轮转,保留7天历史记录 - 使用
rocm-smi输出创建Prometheus监控指标 - 关键指标异常时触发告警(如温度>90°C、显存使用率>95%)
完整排查工具链参考:ROCm调试工具集
通过本文介绍的方法,可快速定位80%以上的常见GPU硬件故障。对于复杂问题,建议收集完整日志包(包含dmesg输出、rocm-smi -a全量信息及应用崩溃报告)提交AMD支持团队。
【免费下载链接】ROCm AMD ROCm™ Software - GitHub Home 项目地址: https://gitcode.com/GitHub_Trending/ro/ROCm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






