利用率统计脚本

GPU

运行程序时将gpu情况输出到文件中

nvidia-smi -i 1 --format=csv,noheader,nounits --query-gpu=timestamp,index,memory.total,memory.used,memory.free,utilization.gpu,utilization.memory -lms 500 -f smi-1-90s-instance.log

运行程序后计算gpu利用率的平均值、极大极小值、标准差

cat smi-1-90s-instance.log | awk -F"," '{if($6!=0){sum+=$6;count++}}END{print "Avg=" sum/count}'
cat smi-1-90s-instance.log | awk -F"," 'BEGIN {max = 0} {if ($6+0 > max+0) max=$6}END{print "Max=" max}'
cat smi-1-90s-instance.log | awk -F"," 'BEGIN {min = 65536} {if ($6!=0 && $6+0 < min+0) min=$6}END{print "Min=", min}'
cat smi-1-90s-instance.log | awk -F"," '{if($6!=0){x[NR]=$6; s+=$6; n++}} END{a=s/n; for (i in x){ss += (x[i]-a)^2} sd = sqrt(ss/n); print "SD = "sd}'

CPU

top -b -d 1 |grep "$进程名" > cpu.log
cat cpu.log |awk '{sum+=$9;count++}END{print "Avg=" sum/count}'
原文地址:https://www.cnblogs.com/dhName/p/13878256.html