服务器的使用


远程连接服务器

可以通过借助软件MobaXterm远程连接服务器
软件图标

软件的下载&安装

可以通过MobaXterm官网首页的Download进入下载界面
Download位置
也可通过该下载地址直接前往:https://mobaxterm.mobatek.net/download.html
注意注意注意!下载免费版即可!!!
Download界面

  1. 点击Download选择下载的版本
    Download
  2. 点击第一个Portable版本进行下载
    下载选项
  3. 解压下载好的安装包即可得到可直接使用的exe文件
    获得exe文件
    可删除解压过程中同时得到的其他文件,只保留.exe文件即可
  4. 将.exe文件移动到你想放的地方,以后只要双击就可以使用啦
    运行软件

对服务器进行远程连接

  1. 打开软件后点击软件左上角的Session按钮
    Session
  2. 选择弹出窗口的第一栏SSH
    SSH
  3. 勾选Specify username前的框框。
    Remote host中填写:服务器的ip
    Specify username中填写:服务器的username
    最后点击ok即可
    SSH连接
  4. 在侧边栏中双击你刚创建的SSH服务,并输入服务器Passward即可连接服务器
    ★★★使用局域网连接服务器, 需要关闭VPN
    注意:输入密码时,在页面不会显示,输入完成后回车即可
    输入密码
  5. 成功连接服务器
    连接成功

查看服务器当前显卡使用情况

nvidia-smi

效果展示
若要持续更新状态可结合’watch‘命令

watch -n 1 nvidia-smi

效果展示

  • 1表示每秒刷新一次

screen—程序离线运行

screen介绍

远程连接的缺点:
远程连接服务器后在本地对服务器进行操作必须时刻连接网络,一旦出现网络波动就会导致与服务器连接中断。 这常常导致正训练的代码或正在执行的程序因为连接中断而被强行终止,对训练任务造成严重不便。

screen虚拟窗口的优点:
1、通过screen命令可以在服务器中创建一个虚拟窗口,在任何远程连接中都可以通过虚拟窗口名访问该窗口,分别程序员调试同一程序不受地点影响。
2、在screen虚拟窗口中执行的程序,相当于直接在服务器上进行操作,因此不会受远程连接中断的影响。即便连接中断,程序也会继续执行。
3、可以创建多个窗口,在每个窗口中执行不同任务,方便程序员在一个窗口中实现多个任务的同时处理和管理。

screen语法

  • 1、创建窗口
    创建完窗口后会自动进入该窗口

    screen -S "窗口名"
    
  • 2、离开窗口(detach)
    在窗口中按住ctrl(不送)再按A(不松)再按(D)

    ctrl + A + D
    
  • 3、再次进入窗口(attach)

    screen -r "窗口名"
    

    或者使用

    screen -r 窗口ID
    

    窗口ID可以通过screen -ls查看(列表中写在窗口名前的数字即为窗口id)。

  • 4、查看现有的窗口

    screen -ls
    
  • 5、ssh意外中断后,重新回到attach状态的窗口

    screen -x "窗口名"
    

    与-r的区别是,-r是回到detach状态的窗口,-x是回到attach状态的窗口。

  • 6、删除不同的窗口

    窗口内:

    ctrl + D
    

    或者使用

    输入 exit 再按回车
    

    窗户外:

    screen -r "窗口名" -X quit
    

    此方法不会在screen -ls中留下没用的僵尸窗口(列表中显示,但无法进入),会直接将该窗口在列表中删除。
    或者使用

    kill -9 窗口ID
    

    窗口ID可以通过screen -ls查看(列表中写在窗口名前的数字即为窗口id),此方法会在列表中留下僵尸窗口(列表中显示,但无法进入)。

  • 7、清除死去的窗口

    screen -wipe
    

磁盘管理命令

  1. df命令:查看磁盘使用情况和挂载点,主要针对文件系统使用

  2. du命令:查看文件或目录大小

  • 其中,du -sh 文件路径 (可以查看指定文件的大小)

du -sh ./ 与 du -sh ./*的区别:总与分

  1. du -sh ./ 查看的当前目录的总大小
  2. du -sh ./* 查看的是当前目录下所有子文件与子目录的大小,将其一一列出

创建虚拟环境

因为不同代码对依赖包的要求往往不同, 因此对不同项目往往会创建不同的虚拟环境, 以避免依赖包发生冲突。

  • 服务器常用的虚拟环境创建软件为Anaconda(之后简称为Conda), 可以通过conda命令对虚拟环境进行管理

启动Anaconda工作环境

登录服务器后可以通过命令行前端的信息判断是否处于Anaconda虚拟环境下。如果未显示虚拟环境名称则表示,还未启动Anaconda虚拟环境。
Conda未启动的状态
可以通过键入以下代码启动Conda:

conda activate

效果展示

  • 上图中(base)表示进入了conda中的base环境, 即启动Conda后默认进入的虚拟环境。

查看已经存在的虚拟环境

在启动Conda后, 通过键入以下命令,可以查看环境中现有的全部虚拟环境

conda env list
  • env是environment的缩写
    效果展示

创建自己的虚拟环境

注意点:

  1. 创建虚拟环境前, 应该查看现有的环境名, 避免相同名字命名虚拟环境。用相同名字创建虚拟环境, 后创建的环境会直接报错, 无法创建
  2. 虽然Conda的环境能区分大小写, 但有时仍然会因此出现奇怪报错, 所以创建虚拟环境时要避免两个环境名字只存在大小写差别
  3. 不使用的虚拟环境要及时删除, 避免内存资源和命名空间的浪费(删除方法见“删除虚拟环境”部分)

可以通过一下代码创建虚拟环境:

conda create -n YourEnvName python=python版本号
  1. 创建示例

    • YourEnvName填你要创建的虚拟环境的名字; Python版本好填你要安装的python版本
      效果展示
    • 回车后会显示创建你的虚拟环境将会下载的一些文件,确认无误后(一般情况都没问题,直接确认即可) 输入y后回车即可继续。
      效果展示
    • 下载完相关文件后会自动安装和创建虚拟环境
      效果展示
    • 此时安装已经完成, 可以通过conda命令m, 在现有conda环境中找到刚刚创建的虚拟环境
      效果展示
  2. 取消创建

    • 若是想中途停止创建可以在创建的确认选项中选择n, 或者在创建环境的过程中(任何时间)键盘键入Ctrl C中止环境创建程序来取消创建
      效果展示

进入自己的虚拟环境

通入在命令行执行以下命令进入自己的虚拟环境:

conda activate 环境名

操作示例

  • 从上图可以看出我们已经将虚拟环境从原本的base环境切换至了myenv环境

删除虚拟环境

通入在命令行执行以下命令删除自己创建的虚拟环境:

conda remove -n 环境名 --all

操作示例

  • 通过选择y后回车确认删除环境
  • 同理也可选择n取消删除

删除环境后可以发现, 已经找不到这虚拟环境了
结果展示


  目录