Linux命令整理(专注速度效率提升)

本文不涉及非常基础的命令知识,主要以提升效率为主,且不断更新中。
我的其他Linux文章:

vim实用操作

管道

1 重定向 tee

命令行之后将日志信息重定向到文件日志中。

# 标准输出和错误输出都进入管道且通过tee命令将输出重定向到test.log
python 1.py 2>&1 | tee test.log

GPU/DeepLearning相关

1 状态查看

  • 查看服务器集群
cluster-smi

更多 cluster-smi 细节请参考 cluster-smi命令详解

  • 查看本机的GPU细节
nvidia-smi
  • 每0.5s查看GPU状态
watch -n 0.5 nvidia-smi
  • 查看哪张卡是哪个用户在占用
# 使用python的库进行查看,先安装
pip install gpustat
# 查看
gpustat

效果如下:
在这里插入图片描述

  • 查看GPU使用状态
# 使用python的库进行查看,先安装
pip install nvitop
# 查看
nvitop

效果如下:
在这里插入图片描述

  • 服务器端开启tensorboard映射到本地,可以在本地查看服务器端tensorboard:
# Windows本地端口映射至服务器(Windows端或本机操作)
# ssh -L 本地端口:本地IP:远程端口 远程服务器用户名@远程服务器IP -p 服务器连接端口
ssh -L 6006:127.0.0.1:6006 wangyaqi@servers.eezhilu.com -p 19025
# 服务器开启tensorboard(服务器端操作)
tensorboard --logdir=logs
# 本地就可以浏览器访问tensorboard记录了

2 指定GPU训练

  • 可以在运行命令时添加环境变量
CUDA_VISIBLE_DEVICES=4,7 python main.py
  • 可以在程序开头添加
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1, 2, 3, 4, 5'

后台进程篇

1 查杀后台进程

ps x | grep <cmdline> | awk '{print $1}' | xargs kill
  • ps x:获取当前用户的所有进程。
  • grep <cmdline>:找到已经停止的程序进程,例如通过python train.py启动程序,需要写成grep 'python train.py'
  • awk '{print $1}':获取进程的pid。
  • xargs kill:杀掉进程,根据需要可能需要写成xargs kill -9强制杀掉进程。

kill -9 <PID> 可以杀掉进程号为PID的进程


  • grep:搜索命令,搜索指定字符串的行

  • awk :文本格式化处理工具,可以对复杂文本进行处理

语法格式:awk [options] 'program' file1 file2 ...,program包含两部分:'pattern{action}',最常用的两个action就是printprintf,awk把处理过的格式文本,用他们输出

工作方式:逐行扫描,并将每行用空格分割不同的列,$1 代表每行的第一列,$2 代表每行的第二列,以此类推,$NF 表示当前行分割后的最后一列。

# 输出文件第1列和第3列,用逗号分割
awk '{print $1, $3}' 1.txt
  • xargs :给其他命令传递参数的一个工具

xargs 的默认命令是 echo,空格是默认分界符,也就是文本的换行和空白将全部变为空格。

fsd d  ww d
dw
xssd w  k
# 上述文本经过下面命令
cat 1.txt | xargs
# 输出
fsd d ww d dw xssd w k

2 后台进程挂起

tmux是一个很好用的后台进程挂起的工具,命令可以参考我的这篇笔记 tmux命令详解及自定义配置

3 状态查看

状态查看一共可以用两个命令,感觉都比较好用。

top
htop
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行码棋

码字好辛苦,总结好吃力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值