NVIDIA 驱动中的 Persistence Mode(持久化模式)是用于控制 GPU 在空闲时是否卸载驱动并释放资源的一个选项,主要用于提升性能、缩短响应延迟以及避免频繁加载驱动带来的开销。
🔧 持久化模式的作用:
✅ 开启时(Persistence-M: Enabled):
- NVIDIA 驱动和 GPU 相关模块始终常驻内存,即使没有正在运行的进程使用 GPU。
- GPU 保持初始化状态,不会被频繁加载和卸载。
- 首次调用 GPU 时的启动延迟显著减少。
- 适用于 服务器、深度学习集群、高频调用 GPU 的应用环境。

❌ 关闭时(Persistence-M: Disabled):
- 在 GPU 空闲时,驱动会被卸载,释放相关资源。
- 再次使用 GPU 时,系统需要重新加载驱动,会产生初始化延迟。
- 更节能,适用于桌面系统或对启动延迟不敏感的场景。
📦 举个例子:
如果你运行一个深度学习模型训练脚本,GPU 初始化通常会有 2~3 秒的延迟;如果持久化模式开启,第二次运行时这部分延迟会被消除。
🚀 如何设置持久化模式:
查看当前状态:
你会看到一列:
Persistence-M: Off # 或者 On
设置开启:
设置关闭:
ubuntu通过xxx.run安装配置nvidia-persistenced
1.原因
- 驱动来源:如果你用的是
.run 安装包(NVIDIA 官方 Linux 驱动),默认不会自动创建 systemd 服务文件。
- 旧版本驱动:某些老版本驱动没有
nvidia-persistenced.service。
- **系统没装
nvidia-persistenced**:守护进程二进制可能不存在。
2.确认 nvidia-persistenced 是否存在
1 2 3
| which nvidia-persistenced
ls /usr/bin/nvidia-persistenced
|
- 如果存在,可以手动创建 systemd 单元文件。
3.手动创建 systemd 服务文件
- 创建服务文件
/etc/systemd/system/nvidia-persistenced.service:
1 2 3 4 5 6 7 8 9 10 11 12
| [Unit] Description=NVIDIA Persistence Daemon After=network.target
[Service] Type=forking ExecStart=/usr/bin/nvidia-persistenced --user nvidia-persistenced ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced Restart=always
[Install] WantedBy=multi-user.target
|
- 创建运行用户(如果没有):
1
| sudo useradd -r -s /sbin/nologin nvidia-persistenced
|
- 重新加载 systemd:
1 2
| sudo systemctl daemon-reload sudo systemctl enable --now nvidia-persistenced
|
4.核验
nvidia-smi

💡 补充说明:
- 手动创建 systemd 服务是最通用方式,不依赖于发行版自带。
--user nvidia-persistenced 参数指定运行用户,避免守护进程用 root。
📝 注意事项:
- 需要 root 权限设置持久化模式。
- 某些系统可能默认关闭该模式以节省功耗。
- 在多用户共享 GPU 的环境中,开启持久化模式可以避免初始化冲突。