nvidia-persistenced 是 NVIDIA 提供的一个守护进程,用于管理 GPU 的持久化模式。这一模式可以帮助在系统启动时保持 GPU 的状态,减少 GPU 初始化的时间,并在使用 GPU 进行计算时提高性能。以下是设置和使用 nvidia-persistenced 的步骤。
1. 确保安装 NVIDIA 驱动程序
首先,确保你已经安装了 NVIDIA 驱动程序。你可以通过以下命令检查 NVIDIA 驱动程序的安装情况:
nvidia-smi
如果命令返回 GPU 信息,说明驱动程序已安装。
2. 启用持久化模式
2.1 启动nvidia-persistenced
在大多数 Linux 发行版中,nvidia-persistenced 通常会随 NVIDIA 驱动程序一起安装。你可以通过以下命令启动它:
新建驱动持久化服务文件:
sudo vim /etc/systemd/system/nvidia-persistenced.service
[Unit]
Description=NVIDIA Persistence Daemon
Wants=network.target
[Service]
Type=forking
ExecStart=/usr/bin/nvidia-persistenced --persistence-mode
ExecStopPost=rm -rf /var/run/nvidia-persistenced
[Install]
WantedBy=multi-user.target
2.2 设置为开机自启
要确保 nvidia-persistenced 在系统启动时自动运行,可以使用以下命令:
sudo systemctl enable nvidia-persistenced
然后,启动该服务:
sudo systemctl start nvidia-persistenced
3. 检查nvidia-persistenced状态
你可以通过以下命令检查 nvidia-persistenced 的状态:
sudo systemctl status nvidia-persistenced
如果服务正在运行,你会看到类似于以下的输出:
● nvidia-persistenced.service - NVIDIA Persistence Daemon
Loaded: loaded (/lib/systemd/system/nvidia-persistenced.service; enabled; vendor preset: enabled)
Active: active (running) since ...
4. 使用持久化模式
一旦 nvidia-persistenced 正在运行,所有的 NVIDIA GPU 将处于持久化模式。这意味着:
- GPU 在空闲时不会进入低功耗状态,从而减少初始化时间。
- 可以更快地启动 CUDA 应用程序,因为 GPU 不需要重新初始化。
5. 关闭持久化模式
如果你想关闭持久化模式,可以停止 nvidia-persistenced 服务:
sudo systemctl stop nvidia-persistenced
并禁用它的开机自启:
sudo systemctl disable nvidia-persistenced
6. 其他命令
查看持久化状态:
通过以下命令查看持久化状态:
nvidia-smi -q -d PERSISTENCE
手动设置持久化模式:
你也可以使用 nvidia-smi 命令手动设置 GPU 的持久化模式:
nvidia-smi -pm 1 # 启用持久化模式
nvidia-smi -pm 0 # 禁用持久化模式
总结
通过以上步骤,你可以成功启用和管理 NVIDIA GPU 的持久化模式。这将有助于提高 GPU 的性能,减少初始化时间。如果你在设置过程中遇到问题,请提供更多信息,以便获得更具针对性的建议。