AI服务器GPU驱动升级前先做这三项检查

AI服务器GPU驱动升级不是直接下载新包覆盖安装就完事。
升级前先确认当前驱动版本、GPU型号和内核版本是否匹配,再决定用runfile还是系统包管理器安装。
本文按“检查环境→停业务→安装→验证”的顺序讲,适合已经能登录服务器、会用基础Linux命令的读者。

先确认当前驱动和GPU状态

登录服务器后先跑一条命令,记录型号、驱动版本和CUDA版本:

nvidia-smi

输出里重点看三处:Driver Version、CUDA Version和GPU列表。
如果nvidia-smi已经报错,说明当前驱动本身有问题,先不要升级,先按掉卡流程排查硬件和内核日志。

接着记录内核版本,驱动模块要跟内核匹配:

uname -r

再把当前驱动版本存一份,方便回滚:

cat /proc/driver/nvidia/version

升级前必须停掉所有占用GPU的训练和推理任务,用nvidia-smi确认没有进程占用,否则安装过程中可能卡住或导致显存异常。

准备内核头文件和编译工具

NVIDIA驱动安装时需要编译内核模块,缺头文件会直接失败。
按系统类型安装:

# Ubuntu/Debian
apt update
apt install -y build-essential dkms linux-headers-$(uname -r)

# CentOS/RHEL
 yum install -y gcc make kernel-devel-$(uname -r) kernel-headers-$(uname -r) dkms

如果服务器启用了Secure Boot,安装第三方内核模块会被拦截,需要先在BIOS或mokutil里处理签名,否则驱动装完也加载不了。
检查命令:

mokutil --sb-state

输出SecureBoot enabled时,要么关闭Secure Boot,要么给模块签名,这一步不能跳过。

用官方runfile执行安装

从NVIDIA官网下载对应GPU架构的驱动runfile包,上传到服务器后赋执行权限:

chmod +x NVIDIA-Linux-x86_64-*.run

安装前先卸载旧模块,避免版本冲突:

systemctl stop nvidia-persistenced 2>/dev/null
./NVIDIA-Linux-x86_64-*.run --uninstall

然后执行安装,加--dkms让驱动在后续内核更新时自动重建:

./NVIDIA-Linux-x86_64-*.run --dkms --silent

安装完成后加载模块并复查:

modprobe nvidia
nvidia-smi

能正常列出GPU和新的Driver Version,说明驱动层升级成功。
如果nvidia-smi报“Failed to initialize NVML”,先看dmesg | grep -i nvidia里有没有模块加载失败或签名错误。

容易踩的三个坑

  • 不停业务直接装:训练进程占用GPU时安装驱动,容易导致进程挂死或显存泄漏,装完重启也未必恢复。
  • 只升驱动不核对CUDA:驱动版本决定支持的CUDA上限,但框架侧还要看PyTorch/TensorFlow编译时对应的CUDA版本,升级后跑一个最小推理脚本验证。
  • 忽略内核自动更新:用runfile装但没加--dkms,内核一升级驱动就掉,表现为重启后nvidia-smi找不到设备。

升级后的验证清单

按顺序确认四项:

nvidia-smi
nvidia-smi -q | grep "Driver Version"
dkms status
python -c "import torch; print(torch.cuda.is_available())"

dkms status里驱动模块状态应为installed;
PyTorch输出True说明框架层能识别CUDA。
如果业务用Docker,还要确认容器内GPU可见:

docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi

镜像tag按实际环境替换,能输出GPU信息即容器运行时配置正常。

常见疑问

升级驱动要不要先卸CUDA Toolkit? 不需要。
驱动和CUDA Toolkit是两层,驱动升级不要求卸载Toolkit,但升级后建议用nvcc --version确认Toolkit版本没被意外改动。

生产服务器能不能直接在线升级? 有备用节点时优先在单台测试机验证,确认业务框架和监控组件正常后再批量操作。
没有回滚方案时不要直接在生产机覆盖安装。

升级后GPU数量变少怎么办? 先看lspci | grep -i nvidia是否还能识别全部卡,再查dmesg里是否有Xid报错。
硬件层正常但驱动层识别不全时,优先回滚到旧驱动版本排查。

驱动升级完成后,建议把新版本号、内核版本和验证结果记进运维台账,后续排查掉卡或CUDA异常时能快速对照。

分享到:
上一篇
AI服务器GPU掉卡排查:从现象到修复的实操流程
下一篇
AI服务器GPU拓扑感知调度:NUMA与NVLink绑定实战
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意