由于公司装有GPU的服务器很少,当多个人同时使用GPU进行计算时就会导致OOM,但频繁的去查看GPU使用,又觉得很麻烦,枯燥的活还是让脚本干吧,所以从零开始写了个脚本,将中间遇到的问题进行下总结。
过程中熟悉了下if-then-else-fi,while-do-done等逻辑判断方式,还有在脚本中输入用户密码的方法,整个脚本就几行,十分简洁。
1、 变量的赋值要注意不能有空格,比如string=`top -n 1`,等号两边不能有空格。
2、 if ["$string" = ""];(这里必须加空格)then
echo "password"|sudo -S python *.py
else
echo "gpu正在使用"
fi
3、 在使用while语句持续监测资源使用状态
while [ "$string" != "" ] #这里 '['(空格) "$string" != ""'(空格)]'
do
echo "gpu正在使用"
sleep time
string=`cmd`
done
echo "password"|sudo -S python *.py
简单的脚本就可以省掉很多无意义的工作,又能充分的利用计算资源,但GPU可能会说,就TM不能让我歇会?