在 TencentOS Server 3.1 (TK4) 上安装 NVIDIA GPU 驱动,通常有以下几种推荐方式。由于 TK4 是基于 CentOS/RHEL 生态优化的系统,最稳定且官方推荐的方式是使用 NVIDIA 提供的 RPM 包或 DKMS 模块。
以下是详细步骤:
✅ 推荐方式一:使用 NVIDIA 官方 RPM 包(适用于大多数场景)
1. 确认系统环境和内核版本
uname -r
cat /etc/os-release
确保你使用的是 标准内核(非 kernel-debug 或自定义内核)。TencentOS Server 3.1 默认使用兼容 RHEL 8 的内核。
2. 禁用 Nouveau 开源驱动(必须步骤)
NVIDIA 专有驱动与 Nouveau 冲突,需禁用它。
编辑 GRUB 配置:
sudo vi /etc/default/grub
在 GRUB_CMDLINE_LINUX 行末尾添加:
rd.driver.blacklist=nouveau modprobe.blacklist=nouveau
然后更新 GRUB:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# 如果是 UEFI 启动,路径可能是 /boot/efi/EFI/tencentos/grub.cfg,请根据实际调整
重启系统:
sudo reboot
验证 Nouveau 是否已禁用:
lsmod | grep nouveau
# 应无输出
3. 安装依赖和构建工具
sudo yum install -y gcc make kernel-devel-$(uname -r) kernel-header-$(uname -r) dkms
⚠️ 注意:如果
kernel-devel版本不匹配,请先升级内核到最新稳定版:sudo yum update -y kernel kernel-devel kernel-headers sudo reboot
4. 下载 NVIDIA 驱动
访问 NVIDIA Driver Download 选择对应显卡型号、Linux 64-bit、并选择 RPM (64-bit) 格式。
或使用命令行下载(以示例版本号为例,请替换为实际版本):
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/535.104.05/NVIDIA-Linux-x86_64-535.104.05.run
chmod +x NVIDIA-Linux-x86_64-535.104.05.run
5. 安装驱动
sudo ./NVIDIA-Linux-x86_64-535.104.05.run --silent --dkms
参数说明:
--silent:静默安装--dkms:通过 DKMS 自动编译内核模块,便于后续内核升级时自动重建驱动
安装完成后重启:
sudo reboot
6. 验证安装
nvidia-smi
如果显示 GPU 信息表,则安装成功。
✅ 推荐方式二:使用 TencentOS 仓库中的 NVIDIA 驱动(如有)
TencentOS Server 可能提供经过认证的 NVIDIA 驱动包。检查可用包:
yum search nvidia-driver
如果找到类似 nvidia-driver 或 akmod-nvidia 的包,可直接安装:
sudo yum install -y akmod-nvidia
sudo systemctl enable kmodgen.service
sudo reboot
此方法更易于管理,但驱动版本可能较旧。
✅ 推荐方式三:使用 Docker + NVIDIA Container Toolkit(适合 AI/容器场景)
如果你主要在容器中运行 GPU 任务,建议安装 NVIDIA Container Toolkit:
1. 安装主机驱动(同上)
先完成上述“方式一”的主机驱动安装。
2. 配置 NVIDIA 容器运行时
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo |
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.repo |
sudo tee /etc/yum.repos.d/nvidia-container-runtime.repo > /dev/null
sudo yum clean expire-cache
sudo yum install -y nvidia-container-toolkit
sudo systemctl restart docker
3. 测试
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
❗ 常见问题排查
| 问题 | 解决方案 |
|---|---|
nvidia-smi 报错 "NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver" |
检查内核模块是否加载:lsmod | grep nvidia;重新安装驱动并启用 DKMS |
| 内核升级后驱动失效 | 使用 --dkms 安装,或手动重建:sudo dkms autoinstall |
| Secure Boot 阻止驱动加载 | 在 BIOS 中关闭 Secure Boot,或为 NVIDIA 模块签名 |
| 多显卡识别不全 | 检查 lspci | grep -i nvidia,确认所有 GPU 被识别;检查 nvidia-smi -L |
📌 最佳实践建议
- 优先使用 DKMS 安装,以便内核升级时自动适配。
- 生产环境建议使用 LTS 驱动版本(如 535.xx),避免使用最新 beta 版。
- 如果使用 AI 框架(PyTorch/TensorFlow),确保驱动版本与 CUDA 版本兼容(参考 NVIDIA CUDA Compatibility Table)。
- 定期关注 TencentOS 官方文档 获取定制化支持。
如需进一步帮助,请提供你的 GPU 型号和当前内核版本。
PHPWP博客