monitor.sh
GPU跨平台通用监控脚本
功能: Useage: monitor.sh fast|mem|gpu|temp|all|[pathToLog sleepTimeNum]
注意: ./monitor.sh fast速度最快
#!/bin/bash
#. /etc/profile
#. ~/.bash_profile
#. ~/.bashrc
# 判断nvidia-smi命令是否存在
/usr/bin/nvidia-smi > /dev/null
if [ $? -eq 0 ]
then
echo 'nvidia-smi check pass' `date`
else
echo 'nvidia-smi not exists'
exit 1
fi
# 获取GPU Count
function get_gpu_list()
{
count=`nvidia-smi -L|wc -l`
echo $count
}
#获取GPU id对应uuid
function get_uuid()
{
uuid=`nvidia-smi -q -i $1|grep 'UUID'|awk '{print $4}'`
echo $uuid
}
#获取显存使用率
function get_memory_usage()
{
usage=`nvidia-smi -q -d MEMORY -i $1|grep -E 'Total|Used'|head -2|awk '{print $3}'|xargs echo|awk '{print $2/$1}'`
echo $usage
}
#获取内存详细信息
function get_memory_detail()
{
detail=`nvidia-smi -q -d MEMORY -i $1|grep -E 'Total|Used|Free'|head -3|awk '{print $3}'|xargs echo`
echo $detail
}
#获取GPU使用率
function get_volatile_gpu()
{
vol=`nvidia-smi -q -d U