服务器终端使用教程

服务器终端使用教程

进入服务器终端的方式有很多种,不同方式之间并无区别,选择最合适的即可。

进入服务器终端

Jupyter中启动终端

本地SSH连接进入终端

网页命令行

常用终端操作重要提示SSH连接遇到网络波动时会中断,前台运行的进程会被终止。

如果程序没有挂到后台或代码没有保存断点的话,您的程序很有可能因此白跑。

因此如果需要长时间运行程序,请务必使用nohup或screen挂到后台运行,并建议在代码中设置保存断点。

方法一:运行命令改为 nohup 原命令 &,输出在nohup.out文件中方法二:(推荐!) 在运行程序前 先在终端中输入 screen -SL 会话名 -Logfile 日志名 新建会话

会话名与日志名自定。需要在运行程序前启动screen,开始运行后无法操作

之后输入需要执行的命令(如python 文件名.py)。输入 screen -dr 会话名 恢复会话;程序输出可恢复会话或查看日志文件

常用命令当前目录在使用服务器终端的过程中,需要留意终端的当前目录。

在zsh中会以黄色字体显示当前目录,如下图红箭头所指的位置。如果没有显示,可以输入pwd查询当前路径

默认的终端目录应该为主目录/home/mist/,也就是~/。~与/home/mist等价。

查看文件在终端中输入ls(小写LS)可查询当前目录下的文件。

ls -l可查看到更详细的输出

ls -a可查看隐藏文件

在上图中目录以浅蓝色字体显示,在ls -l中可以看到最左边有字母d。

进入目录在终端中输入cd 文件夹名可进入到某个文件夹内,相当于鼠标双击了某个文件夹。

cd ../可返回上一级目录

cd ~/或cd或cd /home/mist 可返回主目录

screen使用指南新建/启动会话输入 screen -SL 会话名 -Logfile 日志名 新建会话,会话名与日志名均可自定义

新建会话后并没有明显的提示(窗口会刷新一下),其他与正常终端并无区别

在启动screen后输入screen -list时可以看到会话名与Attached的字样,说明此时激活了这个会话

解绑(detach)会话在screen会话中,先按下Ctrl-a后按d可解绑会话,相当于最小化窗口。 解绑后会提示detached from xxx.会话名

一般确认代码开始运行后就可以解绑会话了,解绑会话后可关掉命令行窗口。只要程序不报错,服务器不关机,代码就一直在后台运行。

解绑会话后输入screen -list可以看到会话名与detached的字样,说明此时会话在后台

恢复会话输入screen -dr 会话名可恢复之前解绑的会话,一般重新进入终端后使用此命令。

结束(terminate)会话在screen会话中,输入exit即可退出会话,相当于关闭窗口。

结束会话后会提示screen is terminating

运行py代码在运行代码前,需要通过以上三步进入到项目目录下,直到在ls中能看到需要运行的文件名。

本例需要运行的train.py文件,可以在ls中看到。

如果代码需要长时间运行,请使用screen挂到后台。如果有创建虚拟环境,则在运行程序前请使用对应的方法激活。建议在运行程序前使用nvidia-smi命令查询显卡是否空。

执行python 文件名.py即可开始运行,如果代码需要参数也可一并加上。

其他命令云存储相关在控制台-上传数据集中上传的文件在云存储中,挂载在服务器/data目录下,任意一台服务器都能访问到。

在服务器主目录下有个名为cloud的文件夹(/home/mist/cloud),这个文件夹是云存储内的一个子文件夹

使用ls -l /data可查看云存储下的文件

使用cp -v /data/文件名 /home/mist/可将云存储内的文件复制到主目录下

使用unzip /data/文件名.zip -d /home/mist/可将云存储下的压缩包(仅zip文件)直接解压到主目录下

使用cp -v 文件名 /data/可将服务器的文件复制到云存储中

使用zip -r9 /data/压缩后的文件名.zip 要压缩的目录名可将服务器的文件夹压缩并直接保存到云存储中

查询类命令

lscpu 查询cpu型号

free -h 查询内存占用

df -h /home/mist/ 查询硬盘可用空间

du -hs 文件名 查询文件或文件夹总占用空间

nvcc -V 查询默认环境的cuda版本

which python 查询默认环境python的路径

top或htop或nmon 查询某个进程的资源占用情况

nvidia-smi 查询显卡相关占用情况

nvidia-smi输出如上图所示,主要关注

红框1所示的显存占用。由于部分机器有安装桌面操作系统,因此有几m-几十m左右的占用。

红框2所示的整体占用。

环境相关

pip list 查询pip中安装的包

pip install 包名 使用pip安装其他包

pip uninstall 包名 使用pip卸载某个包

sudo apt update; sudo apt install 包名 使用apt安装包

杀进程当没有程序正在跑,且用nvidia-smi查询到显存占用高时,有可能是之前的程序进程没有正常退出。此时需要清掉之前的残留进程以释放显存。

最无脑的释放方法是在控制台关掉服务器,再重新开机

可以使用ps x命令查询当前正在运行的进程名以及对应PID,如下图所示

可以看到当前有若干个python开头的命令正在运行,如粉色1框所示。

在每个进程的开头,有对应的进程PID,如绿色2框所示,此时在终端执行sudo kill 即可杀掉对应的进程。

如果需要杀的进程很多,可以使用sudo pkill -x <进程名>命令。进程名如橙色3框所示,

-x 代表完全匹配进程名,不加的话只要进程名里包含有python的都会被杀,比如进入环境的Jupyter服务

本例执行sudo pkill -x python,可以看到执行完后显存已空

相关文章

华为P9和华为荣耀7哪个好? 华为P9和荣耀7区别对比评测
365体育怎么打不开了

华为P9和华为荣耀7哪个好? 华为P9和荣耀7区别对比评测

📅 08-23 👁️ 4875
孤岛先锋闪退卡顿是怎么回事 孤岛先锋闪退卡顿解决教程
365体育怎么打不开了

孤岛先锋闪退卡顿是怎么回事 孤岛先锋闪退卡顿解决教程

📅 08-13 👁️ 8733
三个主流AI智能体平台,你会选择哪一个?
365直播电视版下载

三个主流AI智能体平台,你会选择哪一个?

📅 08-02 👁️ 1665