最近本地电脑跑数据越来越吃力了,实验室给分配一个服务器账号,记录一下经历,希望可以帮助到其他小白。
Step1:访问服务器
ssh username@xxx.xx.xxx.xx
#username--老板给你的用户名
#xxx.xx.xxx.xx--服务器地址
然后输入密码,就可以访问自己的账号啦
Step 附录:辅助软件
有一些软件可以帮助进行文件传输、命令执行
文件传输:
WinSCP:https://winscp.net/eng/index.php
其功能类似于scp命令,但是有一个可视化界面,我觉得还不错
也有推荐用filezilla,不过我用它链接不了服务器,可能是我们实验室的服务器有限制,不支持它吧
命令执行:
MobaXterm:https://mobaxterm.mobatek.net/
一开始用的Putty,虽然还行,但是师兄安利了MobaXterm,发现有用程度比putty高
Step2:安装python
虽然服务器里面有python,但是师兄说还是需要自己安装,不然没有库和包,师兄推荐的:miniconda
这个的安装,我是参考这位博主的,没有出现问题。
https://blog.csdn.net/weixin_46005813/article/details/120622098
Step3:跑代码环节
有两个功能必须学会,screen和nohup
screen可以创建多窗口
nohup可以让你不需要保持链接,转到后台运行
多窗口操作
#name 要创建的窗口名字
screen -S name
#查询当前已有的screen窗口
screen -ls
#进入名为name窗口
screen -r name
#当进程处于attached的时候,会进不去
screen -D -r name #-D踢掉上一个用户会话
使用 Ctrl+a+d 关闭当前窗口
跑代码:
#开始跑代码,要先激活环境
conda activate python39
#此时最开头,会由(base)变成(python39)
#就可以开始跑程序了,address为程序目标地址
python3 address
Python3 /xxxx/xxx/xxx/xxx.py
#执行文件xxx.py文件
这样直接执行的话,会使得你没有办法进行其他操作,并且必须保持链接,当出现断网、死机等情况,会导致代码中断。
nohup Python3 /xxxx/xxx/xxx/xxx.py > xxx.log 2>&1 &
#执行文件xxx.py文件
使得代码放在后台运行,可以随时断开链接,并不会影响后台代码运行。
这几天发现screen其实已经自带了nohup的效果,因此使用screen并不需要再使用nohup
GPU上面跑代码,
注:但是这个效果待定,好像并没有实现,是比较复杂的。
#在某一GPU上面跑代码
CUDA_VISIBLE_DEVICES=1 python3 /xxxx/xxx/xxx/xxx.py
安装库
conda activate #启动
conda install numpy #安装包
Step4:一些常用的命令
这些命令具体有很多细化的,记不过来,这里记一些常用的命令
#修改密码,一般老板给账号的时候都是一个默认密码,那很容易被别人登录,修改、盗取你的数据,因此第一步要学会设置密码
passwd
#查看目录,可以有不同的搭配,具体可以用 ls --help查看
ls
#切换目录到address,这个与cmd中操作是类似的
cd address
#查看当前shell会话正在运行的进程
ps
#请求名为address的域或网址
ping address
#查找名字为name文件位置
which name
#杀死编号为number的进程
kill number
#一般有三种
kill -9 number #杀死进程
kill -1 number #重新加载进程
kill -15 number #停止进程
#查看GPU情况
nvidia-smi