nvidia驱动xxx.run离线安装,如何配置nvidia-persistenced
官方推荐用 nvidia-persistenced 来替代单纯用 nvidia-smi -pm 1 的方法,因为它更适合 开机自动生效,管理上也更规范。
1.nvidia-smi -pm
1 | sudo nvidia-smi -pm 1 # 开启 |
作用:开启 GPU 持久模式。
特点:
- 临时生效,重启后失效。
- 适合临时手动操作。
限制:
- 多 GPU 时,需要对每块 GPU 单独设置。
- 不支持守护进程,无法自动开机生效。
2.nvidia-persistenced(推荐)
1 | # 启动守护进程 |
作用:启动一个守护进程保持 GPU 驱动上下文,即使没有进程在使用 GPU。
特点:
- 自动开机启动(通过 systemd)。
- 适合服务器或长期运行 GPU 的场景。
- 管理简单,只需启动一次守护进程,所有 GPU 都自动保持持久模式。
额外功能:
- 支持指定运行用户(默认
nvidia-persistenced用户)。 - 守护进程会在系统空闲时仍保持 GPU 上下文,不释放资源。
- 支持指定运行用户(默认
3.xxx.run配置nvidia-persistenced
- 驱动来源:如果你用的是
.run安装包(NVIDIA 官方 Linux 驱动),默认不会自动创建 systemd 服务文件。 - 旧版本驱动:某些老版本驱动没有
nvidia-persistenced.service。 - **系统没装
nvidia-persistenced**:守护进程二进制可能不存在。
3.1.确认 nvidia-persistenced 是否存在
1 | which nvidia-persistenced |
- 如果存在,可以手动创建 systemd 单元文件。
3.2.手动创建 systemd 服务文件
- 创建服务文件
/etc/systemd/system/nvidia-persistenced.service:
1 | [Unit] |
- 创建运行用户(如果没有):
1 | sudo useradd -r -s /sbin/nologin nvidia-persistenced |
- 重新加载 systemd:
1 | sudo systemctl daemon-reload |

💡 补充说明:
- 手动创建 systemd 服务是最通用方式,不依赖于发行版自带。
--user nvidia-persistenced参数指定运行用户,避免守护进程用 root。
4.小结
| 方式 | 临时/永久 | 自动开机 | 多 GPU 管理 | 推荐场景 |
|---|---|---|---|---|
| nvidia-smi -pm | 临时 | ❌ | 需要单独设置 | 临时调试、单次任务 |
| nvidia-persistenced | 永久/守护进程 | ✅ | 自动管理 | 服务器、生产环境、长时间任务 |