ubuntu 下 GPU卡常见故障排除附带检查命令
摘要:本文介绍了GPU状态检查、驱动安装与故障排查方法。主要内容包括:使用nvidia-smi命令查看GPU状态和驱动版本,通过lspci和dmesg检测硬件识别问题,验证CUDA与cuDNN兼容性,监控显存泄漏与进程状态,处理温度过高问题,解决Xorg配置冲突,检查内核模块加载情况以及测试Vulkan/OpenGL支持。文章还提供了日志收集方法和故障恢复建议,强调需确保驱动版本与硬件兼容,遇到持
GPU驱动状态检查
使用nvidia-smi命令查看GPU状态和驱动版本。若命令未找到,需安装NVIDIA驱动:
sudo apt update
sudo apt install nvidia-driver-<version> # 替换为官方推荐的版本号
输出应包含GPU温度、显存占用和运行中的进程。若显示Failed to initialize NVML,可能驱动未正确加载。
设备识别与PCI总线检测
运行lspci | grep -i nvidia确认系统是否识别到GPU硬件。无输出可能涉及物理连接问题或PCIe插槽故障。
使用dmesg | grep -i nvidia检查内核日志,排查驱动加载时的错误(如NVRM相关报错)。
CUDA与cuDNN兼容性验证
安装CUDA工具包后,通过nvcc --version验证版本。运行示例程序测试计算能力:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make && ./deviceQuery
若报错no CUDA-capable device is detected,需检查驱动与CUDA版本的匹配性。
显存泄漏与进程监控
使用watch -n 1 nvidia-smi实时监控显存占用。若显存持续增长但无对应进程,可能为应用程序未释放显存或驱动bug。
终止异常进程:
sudo kill -9 <PID> # 替换为nvidia-smi中列出的异常进程ID
温度与散热问题排查
nvidia-smi输出的温度值超过90°C时需检查散热。清理风扇灰尘或调整环境温度。
手动设置风扇转速(需X服务器运行):
nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUTargetFanSpeed=80
Xorg配置冲突处理
多GPU场景下,编辑/etc/X11/xorg.conf确保正确指定主GPU。使用sudo Xorg -configure生成基础配置模板。
若出现黑屏,尝试在Grub中添加nomodeset参数临时禁用内核模式设置。
内核模块加载验证
检查NVIDIA内核模块状态:
lsmod | grep nvidia
若无输出,手动加载模块:
sudo modprobe nvidia
持久化需更新/etc/modules文件。
Vulkan与OpenGL测试
验证图形API支持:
vulkaninfo | grep GPU # Vulkan支持
glxinfo | grep OpenGL # OpenGL支持
缺失库时安装mesa-utils和vulkan-tools。
故障恢复与日志收集
收集完整日志供进一步分析:
nvidia-bug-report.sh # 生成详细日志文件
cat /var/log/syslog | grep -i nvidia # 系统级日志过滤
注意:部分命令需sudo权限。若问题持续,建议查阅NVIDIA官方文档或社区论坛,提供完整的错误日志以获取针对性支持。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)