CPU負荷を調べる
/proc/loadavgはtop等に使われていて、
過去1分、5分、15分のCPU負荷が書かれている。
その数値は小数点以下2桁のため100倍して小数点以下を取り除く。
その数値により負荷の具合を表示する。
#!/bin/sh avglist=`cat /proc/loadavg | cut -d" " -f1,2,3` for avgpiece in $avglist; do avgpiece=$(echo "scale=4; $avgpiece * 100" | bc | cut -d"." -f1) if [ $avgpiece -gt 300 ]; then high="1" elif [ $avgpiece -gt 100 -a $avgpiece -le 300 ]; then middle="1" elif [ $avgpiece -lt 100 ]; then low="1" fi done if [ ${high:-0} -eq 1 ]; then echo "CPU is a bottleneck" elif [ ${middle:-0} -eq 1 ]; then echo "CPU-hogging" elif [ ${low:-0} -eq 1 ]; then echo "Not CPU-hogging" fi