解决服务器长时间跑代码出现自动断连的问题(推荐使用screen)

一、前言

在好不容易跑通了代码的前提下

愉快的跑了15个小时

结果刚刚出现了自动断开连接服务器的情况出现

尽管程序还在进行中

导师推荐了使用nohup和screen两种方法解决此问题

但是我查询了nohup的用法

发现好像大多数是需要root权限

但是在服务器上跑

学生没有root权限

又不想周末打扰老师

所以直接转用screen方法

二、使用方法

1、安装screen

conda install screen

在这里插入图片描述

2、创建新的会话

!!!注意!!!:screen操作与是否进入虚拟环境是有关系的,此时我已经进入了虚拟环境才使用screen命令

使用screen创建一个新的会话:screen -S KD

(KD是我起的名字,可以随意更改)会清空之前的命令行
在这里插入图片描述

3、跑代码

然后开始打开环境,跑代码
在这里插入图片描述

4、验证(选做)

然后我关掉了ssh,尝试着看看后台有没有继续接着跑(这一步可以不做)

screen -ls	# 查看当前后台运行的列表

在这里插入图片描述
如果发现这一步的screen状态为Attached,而不是正常的Detached

请参考这篇文章进行修复

连接上服务器,会变回正在运行代码的界面(这一步可以不做)

screen -r 44459.KD

在这里插入图片描述
在这里插入图片描述

5、关闭会话

跑完结束可以删掉之前创建的screen:screen -S name -X quit

三、注意

如果不小心手动停止程序

GPU使用率减少了,但是GPU的内存却没有释放

使用nvidia-smi发现,内存还是依然占用状态

此时删除这个screen会话

再次nvidia-smi就会发现,占用的内存释放了

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41377182/article/details/125702592