一个能让我们睡觉时也能执行程序的小脚本

在我们跑深度模型程序的时候,常常会碰到半夜两三点刚刚跑的情况。然后会浪费服务器几个小时的空闲时间(除非自己定闹钟起床跑脚本,熬夜就很伤身体,还掉头发T_T#)
最近学到一个小脚本,每10微秒监听一次服务器,当服务器为空时,执行脚本。话不多说,代码如下:

#! /usr/bin/bash
lim=100
while :
do
	#监听间隔时间
    sleep 10
    a=`nvidia-smi --query-gpu=memory.used --format=csv|cut -f 1 -d ' ' | tail -n 8`
    g0=`echo $a |cut -f 1 -d ' '`
    g1=`echo $a |cut -f 2 -d ' '`
    g2=`echo $a |cut -f 3 -d ' '`
    g3=`echo $a |cut -f 4 -d ' '`
    g4=`echo $a |cut -f 5 -d ' '`
    g5=`echo $a |cut -f 6 -d ' '`
    g6=`echo $a |cut -f 7 -d ' '`
    g7=`echo $a |cut -f 8 -d ' '`
    if [ $g0 -lt $lim ] && [ $g1 -lt $lim ] && [ $g2 -lt $lim ] && [ $g3 -lt $lim ] &&  [ $g4 -lt $lim ] && [ $g5 -lt $lim ] && [ $g6 -lt $lim ] && [ $g7 -lt $lim ]; then
        #你想执行的程序
        sh train.sh
        exit
    fi
done

可以根据服务器显卡数量自行灵活调整,祝大家实验顺利,多多发paper~

猜你喜欢

转载自blog.csdn.net/Jayson13/article/details/106754354