闲时GPU占用脚本

为了防止做深度学习的时候出现较长时间的GPU空间,用bash写了个GPU检测的程序。

主要就是通过nvidia-smi的API获取当前节点上GPU的使用情况,如果空闲内存小于所需的最小内存就一直等待,大于则执行code.sh文件。

#!/bin/bash

# use 'nvidia-smi' API to get used memory
memory=`nvidia-smi --format=csv,noheader --query-gpu=memory.free -i 0`
memory=${memory: 0: -3}


memory_1=`nvidia-smi --format=csv,noheader --query-gpu=memory.free -i 1`
memory_1=${memory_1: 0: -3}

echo ${memory_1}

# set model size
min_size=10000

while ((memory<min_size||memory_1<min_size))
do
    memory=`nvidia-smi --format=csv,noheader --query-gpu=memory.free -i 0`
    memory=${memory: 0: -3}
    echo "Out of Memory, Wait to Execute..."
    sleep 3
done

# Execute code
echo $(bash code.sh)

你可能感兴趣的:(Linux,pytorch,深度学习)