shell 脚本获取CPU占用率,作为函数里面的参数。

baidu_29085129 2015-06-17 07:48:08
#!/bin/bash
num=0
while test $num -le 1
do

/*****
******/
usleep n
done
ehco "over"
想写一个shell脚本,通过获取此时cpu占有率,改变usleep的n,控制此脚本占用cpu的大小,从而达到控制整体cpu使用率的情况,
假如现在cpu是30%,执行脚本,现在输入80%,获取此时cpu使用率,改变休眠时间,从而达到cpu达到80%。难点是不知怎么获取cpu的值作为参数!
...全文
727 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_29085129 2015-06-19
  • 打赏
  • 举报
回复
#!/bin/ash #echo -n "Enter Your Want Percent" Percent=80 n=100000 while true do CPULOG_1=$(cat /proc/stat | grep 'cpu ' | 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 $8+$2+$3+$4+$5+$6+$7}') usleep $n CPULOG_2=$(cat /proc/stat | grep 'cpu ' | 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 $8+$2+$3+$4+$5+$6+$7}') SYS_IDLE=`expr $SYS_IDLE_2 - $SYS_IDLE_1` Total=`expr $Total_2 - $Total_1` let SS=$SYS_IDLE*100/$Total let SYS_USAGE=100-$SS echo $SYS_USAGE if [ $SYS_USAGE -lt $Percent ]; then let n=$n-2500 fi done
baidu_29085129 2015-06-18
  • 打赏
  • 举报
回复
大神们,现身吧!

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧