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

目录

    • 一、前言
    • 二、使用方法
      • 1、安装screen
      • 2、创建新的会话
      • 3、跑代码
      • 4、验证(选做)
      • 5、关闭会话
    • 三、注意

一、前言

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

愉快的跑了15个小时

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

尽管程序还在进行中

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

但是我查询了nohup的用法

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

但是在服务器上跑

学生没有root权限

又不想周末打扰老师

所以直接转用screen方法

二、使用方法

1、安装screen

conda install screen

2、创建新的会话

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

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

(KD是我起的名字,可以随意更改)会清空之前的命令行
解决服务器长时间跑代码出现自动断连的问题(推荐使用screen)_第1张图片

3、跑代码

然后开始打开环境,跑代码

4、验证(选做)

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

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

解决服务器长时间跑代码出现自动断连的问题(推荐使用screen)_第2张图片
如果发现这一步的screen状态为Attached,而不是正常的Detached

请参考这篇文章进行修复

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

screen -r 44459.KD

解决服务器长时间跑代码出现自动断连的问题(推荐使用screen)_第3张图片
解决服务器长时间跑代码出现自动断连的问题(推荐使用screen)_第4张图片

5、关闭会话

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

三、注意

如果不小心手动停止程序

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

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

此时删除这个screen会话

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

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

你可能感兴趣的:(小新的学习笔记,Python编程,服务器,服务器,大数据,运维)