**极大可能是同一个原因**,而且在无头(headless)服务器上这个问题比 Windows 更常见。以下是分析和完整解决方案: *** ## 原因分析 Windows 下的"黑屏/闪屏需要设为最高性能",根本原因是 NVIDIA 驱动的**电源管理自动降频**——显卡在空闲时降到低功率 P 状态,在被突然调用时来不及升频,导致信号丢失或卡死。Linux 上完全相同的机制叫做 **Persistence Mode(持久化模式)**,默认是关闭的 。 [reddit](https://www.reddit.com/r/nvidia/comments/lyh69k/linux_nvidiasmi_just_wondering_what_is_the_off/gpsoykv/) 你现在 SSH 卡死,**很可能是**: 1. 显卡在空闲时进入省电睡眠状态,驱动连接断开 2. 由于服务器没有显示器,驱动没有持续活跃的理由,更容易触发 3. 系统也可能因此 hang 住,导致 SSH 连接超时 [forum.livepeer](https://forum.livepeer.org/t/guide-run-headless-linux-server-with-nvidia-gpus/1879) *** ## 第一步:物理重启恢复 SSH 当前 SSH 连不上,需要先让服务器恢复: - **直接按主机电源键短按**(触发正常关机),或长按强制重启 - 重启后立即 SSH 进去,在系统空闲时执行下面的设置 *** ## 第二步:开机后立即设置(SSH 进去后) ```bash # 开启持久化模式(相当于 Windows 的"最高性能") sudo nvidia-smi -pm 1 # 验证是否生效(Persistence-M 应显示 On) nvidia-smi ``` 但 `-pm 1` **重启后会失效**,需要永久配置。 *** ## 第三步:永久开启持久化模式(开机自启) ```bash # 启用 nvidia-persistenced 守护进程服务 sudo systemctl enable nvidia-persistenced sudo systemctl start nvidia-persistenced # 验证服务状态 sudo systemctl status nvidia-persistenced ``` 如果服务起来后持久化仍然是 Off,编辑服务文件修复: ```bash 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 ``` ```bash sudo systemctl daemon-reload sudo systemctl restart nvidia-persistenced sudo nvidia-smi # 确认 Persistence-M: On ``` *** ## 第四步:额外防护——禁用显卡自动省电 对于 AI 推理服务器,建议还要锁定电源上限,防止动态调频 : [wikipedia.jakami](https://wikipedia.jakami.de/content/askubuntu.com_en_all_2025-12/questions/1164934/how-to-turn-off-nvidia-gpu-on-a-headless-server) ```bash # 设置最大性能模式(等同 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 的部署。