前言
本节总结一下平时学习工作中利用远程服务器常用的一些linux命令。
一般来说这些命令用着用着就记住了,但长时间不用也偶尔会忘记,就得反复查询文档比较麻烦,在此记录一下。
方便自己查询,也给大家提供一些总结。
查询显卡状态
显卡目前的状态和使用情况
nvidia-smi
如果想知道每个进程都是哪个user用的显卡,且想动态的看显卡显存利用大小下命令
watch -n 2 --color gpustat --c
粉色区域显示每个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"
一般来说,记录着你哪天哪个具体时间执行的,可以把这个找出来,前面表的就是对应的线程号,比如这里的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 文件