獲取CPU使用率腳本

nbd2 9年前發布 | 1K 次閱讀 C/C++ CPU

#!/bin/bash

gino

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時間片

 本文由用戶 nbd2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!