Linux闲时自动抢占GPU脚本

Posted 周先森爱吃素

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux闲时自动抢占GPU脚本相关的知识,希望对你有一定的参考价值。

背景

常常有这样的情况,服务器上的GPU正被占着使用,我不可能有精力经常来看看是不是其他用户跑完了程序,也可能其他用户跑完了但我不在电脑前,因此如果由一个自动脚本帮我查看GPU是否空闲,一旦空闲就自动运行我想要跑的程序就好了,这就是我写这个脚本的原因所在。本脚本不依赖任何第三方库,如gpustat,只需要安装正确的显卡驱动即可。

脚本

这个脚本的整体思路是非常简单的,就是过一段时间就自动检查指定显卡的剩余显存是否满足我的需要,如满足则运行要跑的程序。这个脚本(run.sh)的内容及解释如下所示,该程序针对单卡程序,需要多卡的自行魔改即可。

#!/bin/bash
while true
do
  # 计算指定卡的剩余显存大小
	LEFT=`nvidia-smi -a -i $1|grep Free|

以上是关于Linux闲时自动抢占GPU脚本的主要内容,如果未能解决你的问题,请参考以下文章

GPU 在运行 Keras/tensorflow-gpu 时崩溃,特别是当时钟速度在 0 MHz 时空闲时

python常用代码

SimpleThreadPool给线程池增加自动扩充线程数量,以及闲时自动回收的功能

购买阿里云GPU虚拟化型实例规格族vgn6i抢占式实例并搭建CUDA 11.5和cuDNN 8.3.0

linux内核的preempt抢占调度,preempt_count抢占保护“锁”

Linux 内核 内存管理优化内存屏障 ③ ( 编译器屏障 | 禁止 / 开启内核抢占 与 方法保护临界区 | preempt_disable 禁止内核抢占源码 | 开启内核抢占源码 )