You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode SSH连接数小时后断开,如何维持神经网络训练?

解决VSCode SSH断开导致神经网络训练终止的方案

一、保持SSH连接稳定

1. 本地SSH客户端配置修改

在本地~/.ssh/config文件中添加心跳配置,防止服务器主动断开连接:

Host 你的服务器别名
    HostName 服务器IP地址
    User 服务器用户名
    ServerAliveInterval 300  # 每5分钟发送一次心跳包
    ServerAliveCountMax 10   # 连续10次未收到回应才断开

修改后保存,下次通过VSCode SSH连接时会自动应用该配置。

2. 服务器端SSH配置修改

登录服务器,修改/etc/ssh/sshd_config文件:

ClientAliveInterval 300
ClientAliveCountMax 10

保存后重启SSH服务:

sudo systemctl restart sshd

3. VSCode内置设置调整

在VSCode的设置中(快捷键Ctrl+,),搜索并修改以下选项:

  • Remote.SSH: Server Alive Interval:设置为300000(单位毫秒,即5分钟),让VSCode定期向服务器发送心跳。
  • Remote.SSH: Connect Timeout:调大超时时间,比如设置为1800000(30分钟)。

二、让训练进程脱离终端后台运行(更可靠)

即使SSH断开,服务器上的训练进程仍能持续运行,推荐以下工具:

1. 使用nohup命令

直接在服务器终端中启动训练任务,将进程挂到后台:

# 运行Python训练脚本,输出日志到training.log
nohup python your_training_script.py > training.log 2>&1 &

# 若使用Jupyter Notebook,先后台启动Jupyter服务
nohup jupyter notebook --no-browser --port=8888 > jupyter.log 2>&1 &
  • nohup会让进程忽略挂起信号,即使SSH断开也不会终止
  • > training.log 2>&1将标准输出和错误输出重定向到日志文件,方便后续查看训练状态
  • 运行后会返回进程ID,可通过ps aux | grep your_training_script.py查看进程状态

2. 使用screen会话管理

  • 创建新会话:
screen -S training_session
  • 在会话中启动训练任务(比如打开Jupyter Notebook或运行脚本)
  • 按下Ctrl+A+D detach会话,此时会话在后台运行,SSH断开不影响
  • 重新连接服务器后,恢复会话:
# 查看所有会话
screen -ls
# 恢复指定会话
screen -r training_session

3. 使用tmux会话管理(更推荐,功能更丰富)

  • 创建新会话:
tmux new -s training_session
  • 在会话中启动训练任务
  • 按下Ctrl+B+D detach会话
  • 重新连接服务器后恢复会话:
# 查看所有会话
tmux ls
# 恢复指定会话
tmux attach -t training_session

额外提示

  • 训练过程中定期保存模型检查点(checkpoint),避免意外情况导致进度丢失
  • 若使用VSCode的Jupyter扩展,建议在服务器端的screen/tmux会话中启动Jupyter内核,下次重新连接VSCode时,可直接选择已运行的内核继续查看训练状态

内容的提问来源于stack exchange,提问作者Samuel Queiroz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 17:54:58