Files
ProjectAGiPrompt/32-WDD-AI服务器/1-GPU服务器/2-nvidia-高性能模式.md
2026-06-15 14:14:24 +08:00

3.5 KiB
Raw Blame History

极大可能是同一个原因而且在无头headless服务器上这个问题比 Windows 更常见。以下是分析和完整解决方案:


原因分析

Windows 下的"黑屏/闪屏需要设为最高性能",根本原因是 NVIDIA 驱动的电源管理自动降频——显卡在空闲时降到低功率 P 状态在被突然调用时来不及升频导致信号丢失或卡死。Linux 上完全相同的机制叫做 Persistence Mode持久化模式,默认是关闭的 。 reddit

你现在 SSH 卡死,很可能是

  1. 显卡在空闲时进入省电睡眠状态,驱动连接断开
  2. 由于服务器没有显示器,驱动没有持续活跃的理由,更容易触发
  3. 系统也可能因此 hang 住,导致 SSH 连接超时 forum.livepeer

第一步:物理重启恢复 SSH

当前 SSH 连不上,需要先让服务器恢复:

  • 直接按主机电源键短按(触发正常关机),或长按强制重启
  • 重启后立即 SSH 进去,在系统空闲时执行下面的设置

第二步开机后立即设置SSH 进去后)

# 开启持久化模式(相当于 Windows 的"最高性能"
sudo nvidia-smi -pm 1

# 验证是否生效Persistence-M 应显示 On
nvidia-smi

-pm 1 重启后会失效,需要永久配置。


第三步:永久开启持久化模式(开机自启)

# 启用 nvidia-persistenced 守护进程服务
sudo systemctl enable nvidia-persistenced
sudo systemctl start nvidia-persistenced

# 验证服务状态
sudo systemctl status nvidia-persistenced

如果服务起来后持久化仍然是 Off编辑服务文件修复

sudo nano /lib/systemd/system/nvidia-persistenced.service

找到这一行:

ExecStart=/usr/bin/nvidia-persistenced --user nvidia-persistenced --no-persistence-mode --verbose

改为:

ExecStart=/usr/bin/nvidia-persistenced --user nvidia-persistenced --persistence-mode --verbose
sudo systemctl daemon-reload
sudo systemctl restart nvidia-persistenced
sudo nvidia-smi  # 确认 Persistence-M: On

第四步:额外防护——禁用显卡自动省电

对于 AI 推理服务器,建议还要锁定电源上限,防止动态调频 wikipedia.jakami

# 设置最大性能模式(等同 Windows 控制面板"最高性能优先"
sudo nvidia-smi --auto-boost-default=0
sudo nvidia-smi -ac 6251,1695   # RTX 3070 的 Memory,Graphics 最大频率

# 写入开机启动(加到 /etc/rc.local 或 systemd 服务中)
sudo tee /etc/systemd/system/nvidia-perf.service <<'EOF'
[Unit]
Description=NVIDIA Performance Mode
After=nvidia-persistenced.service

[Service]
Type=oneshot
ExecStart=/usr/bin/nvidia-smi -pm 1
ExecStart=/usr/bin/nvidia-smi --auto-boost-default=0
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable nvidia-perf.service
sudo systemctl start nvidia-perf.service

设置完成后的预期状态

nvidia-smi 输出中:
Persistence-M: On     ← 持久化开启
Power: 46W / 220W     ← 功率正常
GPU-Util: 0%          ← 空闲但驱动不会断连

完成以上设置后服务器应当稳定,不再出现 SSH 卡死的情况,之后可以继续 vLLM 的部署。