獲取CPU使用率腳本
#!/bin/bashgino
20150711
CPULOG_1=
cat /proc/stat | head -n1 | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'
SYS_IDLE_1=echo $CPULOG_1 | awk '{print $4}'
Total_1=echo $CPULOG_1 | awk '{print $1+$2+$3+$4+$5+$6+$7}'
sleep 1
CPULOG_2=
cat /proc/stat | head -n1 | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'
SYS_IDLE_2=echo $CPULOG_2 | awk '{print $4}'
Total_2=echo $CPULOG_2 | awk '{print $1+$2+$3+$4+$5+$6+$7}'
Total=
expr $Total_2 - $Total_1
SYS_IDLE=
expr $SYS_IDLE_2 - $SYS_IDLE_1
SYS_USAGE=
echo $SYS_IDLE/$Total*100 |bc -l
SYS_Rate=
echo 100-$SYS_USAGE |bc -l
Disp_SYS_Rate=
expr "scale=2; $SYS_Rate/1" |bc
printf "%4.2f%%\n" ${Disp_SYS_Rate}
</pre>
總結:
總CPU使用率的計算公式CPU時間=user+system+nice+idle+iowait+irq+softirq+steal CPU時間片=CPU_2 - CPU_1 IDLE時間=idle_2 - idle_1 CPU總的使用率=100*(CPU時間片-IDLE時間)/CPU時間片