作为一名合格的Kaggler,熟练掌握Linux是必不可少的技能。本文总结了竞赛中常见的Shell命令,希望对大家有帮助。
进程监控 htop
htop是一个Linux下的交互式的进程浏览器,可以很方便的看到内存、核数、进程等信息,还支持鼠标点击排序。
htop
显存监控
监控显卡使用也是很常见,通过nvidia-smi可以很方便看到显存的具体使用情况。主要关注的列如下:
nvidia-smi
Temp: 显卡温度;
Memory-Usage: 显存占用;
GPU-Util: 显卡利用率;
当然为了定时对显存进行监控,则可以配合watch命令一起使用(每秒刷新一次):
watch -n 1 nvidia-smi
通过pip安装gpustat后,会更加美观:
文件下载 axel
文件下载必须要有多进程和默认断点下载的,因此axel是不错的选择,下面命令使用5个链接进行下载,基本上可以把带宽打满。
axel -n 5 url -o file.name
进程绑定CPU
taskset命令可将某个进程与某个CPU核心绑定,使得其仅在与之绑定的CPU核心上运行。
设置 PID11498 可用的CPU核心到#0、2
taskset -pc 0,2 11498
taskset非常适合用在多进程并发的情况下,可以有效减缓进程抢占CPU的情况,可以整体增加CPU利用率。
网络流量监控
nethogs是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况。
nethogs
内网穿透
内网穿透可以将局域网的端口映射到公网域名。如在家里电脑端口开启notebook,穿透软件可以将其映射到公网域名上,妈妈再也不用担心我连不上notebook了!
内存穿透需要额外的付费软件,比较成熟的有向日葵和natapp,我比较喜欢用natpp,可以免费试用,收费版比较稳定(支持密码登录,非常安全)。
https://natapp.cn/
通过公网域名,可以很方便访问家里机器。