📖 GPU掉卡(空闲丢失)问题永久解决手册 (R535+)
📌 1. 问题描述
症状:NVIDIA驱动版本 ≥ R535 时,GPU在长时间空闲后从
nvidia-smi输出中消失,但物理连接正常。表现:
空闲后执行
nvidia-smi显示 GPU 数量少于实际插入数量。重启系统可暂时恢复所有 GPU,但再次空闲后问题复现。
🔍 2. 原因分析
NVIDIA 在 R535 驱动中弃用了旧命令 nvidia-smi -pm 1,要求使用 nvidia-persistenced 守护进程。旧方法在重启或空闲后失效,无法阻止驱动卸载空闲 GPU。
确认命令:
dmesg | grep -i persistence若出现 "Persistence mode is deprecated... please use nvidia-persistenced",则说明存在此问题。
🛠️ 3. 解决方案
启用 nvidia-persistenced 守护进程,彻底防止掉卡。
步骤1:确认驱动版本 ≥ R535
nvidia-smi(若低于 R535 也建议按本手册操作,更健壮)
步骤2:安装 nvidia-persistenced(如未安装)
# Ubuntu/Debian
sudo apt update && sudo apt install nvidia-persistenced
# CentOS/RHEL
sudo yum install nvidia-persistenced步骤3:创建 systemd 服务文件
sudo vim /etc/systemd/system/nvidia-persistenced.service内容:
[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.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步骤4:启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable nvidia-persistenced.service
sudo systemctl start nvidia-persistenced.service🔍 4. 验证与排查
验证持久化模式:
nvidia-smi -q | grep "Persistence Mode"应显示Enabled检查服务状态:
systemctl status nvidia-persistenced.service
⚠️ 5. 重要补充:已掉卡的情况能否不重启恢复?
不能,必须重启。
如果 GPU 已经因空闲而被驱动卸载(即
nvidia-smi已显示少卡),即使你此时启动nvidia-persistenced,它也只能阻止后续再次卸载,而无法将已离线的 GPU 重新挂载。唯一可靠恢复方法:重启操作系统,让驱动重新初始化所有 GPU。
✅ 6. 正确操作流程(针对你当前可能已掉卡)
先按步骤 2~4 配置好
nvidia-persistenced(如果还没配置)。重启系统 —— 所有 GPU 将恢复正常显示。
验证持久化模式已启用(执行验证命令)。
之后即使长期空闲,也不会再掉卡,且不再需要依赖重启。
🏁 7. 总结
永久解决:启用
nvidia-persistenced并设为开机自启。已掉卡:配置后必须重启,重启一次即可。
不要再用
nvidia-smi -pm 1,它在 R535+ 驱动上无效。
按照本手册执行一遍,你的问题将彻底解决。