Post

Server

What is server and how to use.

是什么

服务器就是一台cpu、gpu都很棒的电脑,一般放在实验室的某个角落,样子不像电脑的样子。可以通过你自己的电脑远程操纵服务器,把东西放上去运行。登上去之后一般就是linux系统的大黑框terminal,通过linux指令运行

连接方式

LInux指令操作

MobaXterm操作服务器跑代码,但是不方便上传和下载文件

服务器文件与本机文件交互

WinSCP

这台服务器是整个实验室的人一起用的,那么当有别的人在跑程序的时候,就可能没有空间给你跑了。

那怎么知道有没有空余的显卡可以拿来跑呢?

可以使用linux命令 nvidia-smi,直接在大黑框那个界面输入nvidia-smi回车即可

最左边的0123表示四块显卡,中间的Memory—Usage表示每块显卡的使用情况,例如现在GPU2是空闲的,013都在跑东西,又或者直接看下面的Processes,发现013都有程序在跑,2没有,我们就可以用GPU2来跑程序了。

只要Memory—Usage还没用满,就可以多个人、多个程序在同一张卡上跑。例如上图的1号卡,目前只用了8597M,还剩3000M左右。假设我们的模型比较小,跑起来只占1000M,那么就可以在1号卡上来跑。

怎么指定呢?在你python代码的最前面,加上这句就可以了。每次跑之前看哪块空着,或者剩余空间足够,修改数字即可。

1
2
3
4
5
import os 
# 只用2号卡
os.environ['CUDA_VISIBLE_DEVICES']='2' 
# 可用1号和2号卡
os.environ['CUDA_VISIBLE_DEVICES']='12' 

如果在nvidia-smi发现所有卡都跑满了,而你又急着要跑程序,怎么“逮住“”是哪些兄弟姐妹正在跑实验呢?使用linux命令top,直接在大黑框界面输入即可。这个命令会显示当前占用内存现存最高的进程。

根据nvidia-smi中的PID,也就是进程号,在top中找到该进程所归属的USER,就可以知道是谁在用卡跑实验啦。

VSCode远程连接服务器

可以直接SSH远程连接服务器修改代码

vscode左边电脑

ssh旁边的齿轮是配置文件,可以在里面更新服务器配置

要连接的话直接点

上传下载文件

直接点击右侧文件目录下载,或者打开git bash终端使用scp命令

1
2
3
4
5
6
7
8
9
10
#连接远程服务器 需要输入密码aZLL9876.
# 用户名@服务器ip

# 下载文件
# scp -r <用户名>@<ssh服务器地址>:<文件或文件夹路径> <本地文件路径>
scp -r xss@222.20.126.114:/HARD-DRIVE/nmi e:/PETCT/

# 上传文件
# scp  -r <本地文件夹名> <用户名>@<ssh服务器地址>:<上传保存路径>
# 上传文件夹带-r参数 文件则不带
This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.

Trending Tags