前言

本节总结一下平时学习工作中利用远程服务器常用的一些linux命令。

一般来说这些命令用着用着就记住了,但长时间不用也偶尔会忘记,就得反复查询文档比较麻烦,在此记录一下。

方便自己查询,也给大家提供一些总结。

查询显卡状态

显卡目前的状态和使用情况

nvidia-smi

查看一个服务器几张显卡python代码 服务器查看显卡命令_linux

如果想知道每个进程都是哪个user用的显卡,且想动态的看显卡显存利用大小下命令

watch -n 2 --color gpustat --c

查看一个服务器几张显卡python代码 服务器查看显卡命令_服务器_02
粉色区域显示每个user用的显卡显存数量。

执行程序

利用某个显卡执行程序

CUDA_VISIBLE_DEVICES=0,1,2,3  python main.py

以上就是用显卡序号为0 1 2 3四个显卡一起去跑main.py这个文件

如果想托管

简单的方式

CUDA_VISIBLE_DEVICES=0,1,2,3 nohup main.py

这样最终的log日志文件都会打在运行代码的文件夹下,是nohup.out文件

如果不想要这个文件这个执行

CUDA_VISIBLE_DEVICES=0,1,2,3 nohup python main.py >/dev/null 2>&1

这种情况下,如果想停止程序,可以直接ctrl-c但是如果一不小心把远程工具关掉了,比如我用的工具是mobaxterm,那这个时候只能去kill掉这个线程了,来停止程序了。

  • 首先查询程序的线程
ps -ef|grep "main.py"

查看一个服务器几张显卡python代码 服务器查看显卡命令_运维_03
一般来说,记录着你哪天哪个具体时间执行的,可以把这个找出来,前面表的就是对应的线程号,比如这里的1613,之后kill掉

kill -9 1613

比较高级的方式

利用screen创建一个新的窗口用来后台跑代码
screen教程

关于硬盘挂载

一般来说服务器的内存不够大,都要加几个disk的,但是有的时候运维工程师忘记给你写一个开机即挂载的程序的话,有一天你会突然发现自己的文件夹和代码都没了,那这时候不要慌,大概率是你的硬盘没有挂载上。

执行以下命令,比如此时我的消失的disk是data1文件夹

mount /dev/sdb /data1
df -h

文件复制

在一个ip服务器下:

cp filename dirname 将filename文件复制到dir目录下

cp -r dir1 dir2 将dir1及其dir1下所包含的文件复制到dir2下

cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录

从一个ip复制到另外一个ip服务器下

 scp -r ST_CNN user@IP:/data2

将st_cnn文件复制到ip为IP的服务器的data2文件夹目录下

同cp一样,如果复制的是整个文件夹的内容,则应使用scp -r 命令。

文件压缩

压缩单个文件

zip name.zip file_name

压缩整个文件夹文件

zip -r dir.zip dir_name

解压

unzip  dir.zip 

其他常用

1. 查看文件
ls
2. 查看所有文件
ls -a
3. 到哪个文件夹
cd dir
4. 进入root
su
5. 用管理员方式
sudo ---
6. 关机
shutdown
7. 重启
reboot
8. 改变权限
chmod
9. 显示当前目录
pwd
10.建立新目录
mkdir
11.删除
rm -rf 文件