共计 1551 个字符,预计需要花费 4 分钟才能阅读完成。
背景介绍
在 CentOS8 系统上安装英伟达算力卡驱动相比其他 Linux 发行版更具挑战性,主要原因有几点:

- CentOS8 默认使用较新的内核版本,而英伟达驱动对新内核的支持往往存在滞后
- CentOS8 的默认软件仓库不包含专有驱动,需要手动添加第三方源或直接安装
- Secure Boot 安全机制可能导致驱动加载失败
- 内核头文件和开发工具链的版本必须与运行内核精确匹配
这些因素使得驱动安装过程容易出现兼容性问题,需要特别注意版本选择和依赖解决。
准备工作
在开始安装前,需要做好以下准备工作:
- 检查系统信息
uname -r # 查看内核版本
cat /etc/redhat-release # 确认系统版本
lspci | grep -i nvidia # 确认显卡型号
- 安装必要依赖
dnf install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make dkms
- 禁用 Nouveau 开源驱动
编辑文件/etc/modprobe.d/blacklist-nouveau.conf,添加:
blacklist nouveau
options nouveau modeset=0
然后更新 initramfs:
dracut --force
- 关闭图形界面(如果已安装)
systemctl isolate multi-user.target
详细安装步骤
- 下载正确驱动
访问英伟达官方驱动下载页面,根据你的 GPU 型号和操作系统选择正确的驱动版本。建议选择长期支持版(LTS)以获得更好的稳定性。
- 赋予执行权限
chmod +x NVIDIA-Linux-x86_64-*.run
- 运行安装程序
./NVIDIA-Linux-x86_64-*.run --dkms -s
关键参数说明:
– --dkms:启用 DKMS 支持,确保内核更新后自动重建驱动模块
– -s:静默安装模式
- 处理 Secure Boot
如果系统启用了 Secure Boot,需要:
mokutil --disable-validation
然后重启系统并在 UEFI 界面完成密钥管理操作。
验证安装
安装完成后,可以通过以下方法验证驱动是否正常工作:
- 检查驱动版本
nvidia-smi
- 查看内核模块
lsmod | grep nvidia
- 测试 OpenGL
glxinfo | grep "OpenGL vendor"
性能测试
安装 CUDA 工具包后,可以运行简单的 CUDA 示例测试 GPU 计算性能:
- 编译并运行 deviceQuery 示例
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
./deviceQuery
- 运行 bandwidthTest 测试显存带宽
cd ../bandwidthTest
make
./bandwidthTest
常见问题解决
- 内核头文件缺失
dnf install -y kernel-devel-$(uname -r)
- 驱动编译失败
确认 gcc 版本与内核编译版本一致:
gcc --version
cat /proc/version
- X Server 冲突
安装时添加 --no-opengl-files 参数:
./NVIDIA-Linux-x86_64-*.run --no-opengl-files
最佳实践
- 驱动版本选择
- 生产环境建议使用长期支持版(分支 450 以上)
-
最新版驱动可能不适用于旧型号 GPU
-
系统更新策略
- 内核更新前先卸载驱动
nvidia-uninstall -
更新后重新安装驱动
-
自动化管理
- 使用 Ansible 等工具自动化驱动安装流程
- 设置监控检查驱动健康状态
结语
通过以上步骤,你应该已经成功在 CentOS8 系统上安装了英伟达算力卡驱动。建议在实际环境中多进行测试验证,特别是针对你的具体应用场景。如果遇到特殊问题,英伟达开发者论坛和 CentOS 社区都是很好的求助资源。欢迎分享你的安装经验和性能调优技巧。
正文完
