linux脚本人为提高cpu利用率,linux获取cpu利用率shell脚本

#!/bin/bash

interval=3

cpu_num=`cat /proc/stat | grep cpu[0-9] -c`

start_idle=()

start_total=()

cpu_rate=()

cpu_rate_file=./`hostname`_cpu_rate.csv

if[-f ${cpu_rate_file}];then

mv ${cpu_rate_file}${cpu_rate_file}.`date +%m_%d-%H_%M_%S`.bak

fi

for((i=0;i

{

echo-n"cpu$i,">>${cpu_rate_file}

}

echo-n"cpu">>${cpu_rate_file}

echo"">>${cpu_rate_file}

while(true)

do

for((i=0;i

{

start=$(cat/proc/stat|grep"cpu$i"|awk'{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')

start_idle[$i]=$(echo ${start}|awk'{print $4}')

start_total[$i]=$(echo ${start}|awk'{printf "%.f",$1+$2+$3+$4+$5+$6+$7}')

}

start=$(cat/proc/stat|grep"cpu "|awk'{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')

start_idle[${cpu_num}]=$(echo ${start}|awk'{print $4}')

start_total[${cpu_num}]=$(echo ${start}|awk'{printf "%.f",$1+$2+$3+$4+$5+$6+$7}')

sleep ${interval}

for((i=0;i

{

end=$(cat/proc/stat|grep"cpu$i"|awk'{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')

end_idle=$(echo ${end}|awk'{print $4}')

end_total=$(echo ${end}|awk'{printf "%.f",$1+$2+$3+$4+$5+$6+$7}')

idle=`expr ${end_idle} - ${start_idle[$i]}`

total=`expr ${end_total} - ${start_total[$i]}`

idle_normal=`expr ${idle} \* 100`

cpu_usage=`expr ${idle_normal} / ${total}`

cpu_rate[$i]=`expr 100 - ${cpu_usage}`

echo"The CPU$i Rate : ${cpu_rate[$i]}%"

echo-n"${cpu_rate[$i]},">>${cpu_rate_file}

}

end=$(cat/proc/stat|grep"cpu "|awk'{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')

end_idle=$(echo ${end}|awk'{print $4}')

end_total=$(echo ${end}|awk'{printf "%.f",$1+$2+$3+$4+$5+$6+$7}')

idle=`expr ${end_idle} - ${start_idle[$i]}`

total=`expr ${end_total} - ${start_total[$i]}`

idle_normal=`expr ${idle} \* 100`

cpu_usage=`expr ${idle_normal} / ${total}`

cpu_rate[${cpu_num}]=`expr 100 - ${cpu_usage}`

echo"The average CPU Rate : ${cpu_rate[${cpu_num}]}%"

echo-n"${cpu_rate[${cpu_num}]}">>${cpu_rate_file}

echo"------------------"

echo"">>${cpu_rate_file}

done

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值