cpu运行状态监控脚本

watchCpu.sh

==========

#!/bin/bash

sleepTime=60

logfile=cpu_yjk.log
if [ -f "$logfile" ];
then
 rm cpu_yjk.log
fi


exec 1>$logfile

processName="watchCpu.sh"
title="load"
coretitle=`mpstat | grep -o -e '%.*'`

#print title
printf "%s," `date +%Y-%m-%d_%H:%M:%S`
printf "%6s," $title
printf "%12s(ave/max/min/mdev)," $coretitle
printf "%12s(ave/max/min/mdev)," $processName
printf "\n"

while true
do
 load=`uptime | awk -F: '{print $NF}'|awk -F, '{print $1}'`
 corevalue=`mpstat -P ALL|grep -v -i ALL|grep -o -e '[0-9][0-9]*\..*\.[0-9]*[0-9]$'|awk -v col=9 -f cal.awk`
 processValue=`ps aux |grep $processName|grep -v grep|awk '{print $3}'|awk -v col=1 -f cal.awk`

 #print value
 printf "%s," `date +%Y-%m-%d_%H:%M:%S`
 printf "%6.2f," $load
 printf "%30s," $corevalue
 printf "%30s," $processValue
 printf "\n"

 sleep $sleepTime
done

=============================================================================

cal.awk

========

BEGIN {
 for(i=1;i<=col;i++){
  sum[i] = 0;
  squsum[i] = 0;
  max[i] = 0;
  min[i] = 1000000;
 }
}
{
 for(j=1;j<=col;j++) {
  tmp = $j
  sum[j] += tmp
  squsum[j] += tmp*tmp
  if(max[j]<tmp)
   max[j] = tmp
  if(min[j]>tmp)
   min[j] = tmp
 }
}

END {
 for(k=1;k<=col;k++) {
  ave = sum[k]/NR
  mdev = sqrt(squsum[k]/NR-ave*ave)
  printf("%.2f/%.2f/%.2f/%.2f  "), ave,max[k],min[k],mdev
 }
}

 

==========================================================================

output.log

=========

2012-07-27_18:45:23,  load,       %user(ave/max/min/mdev),       %nice(ave/max/min/mdev),        %sys(ave/max/min/mdev),     %iowait(ave/max/min/mdev),        %irq(ave/max/min/mdev),       %soft(ave/max/min/mdev),      %steal(ave/max/min/mdev),       %idle(ave/max/min/mdev),      intr/s(ave/max/min/mdev), watchCpu.sh(ave/max/min/mdev),
2012-07-27_18:45:23,  0.02,        21.11/23.12/20.07/0.94,           0.00/0.00/0.00/0.00,           2.46/2.67/2.32/0.10,           0.42/1.99/0.05/0.63,           0.04/0.19/0.00/0.07,           1.93/2.26/1.47/0.27,           0.00/0.00/0.00/0.00,        73.89/74.95/72.18/0.76,   297.39/1208.74/35.19/442.41,           0.00/0.00/0.00/0.00,
2012-07-27_18:46:23,  0.15,        21.11/23.12/20.07/0.94,           0.00/0.00/0.00/0.00,           2.46/2.67/2.32/0.10,           0.42/1.99/0.05/0.63,           0.04/0.19/0.00/0.07,           1.93/2.26/1.47/0.27,           0.00/0.00/0.00/0.00,        73.89/74.95/72.18/0.76,   297.38/1208.68/35.19/442.39,           0.00/0.00/0.00/0.00,
2012-07-27_18:47:23,  0.41,        21.11/23.12/20.07/0.94,           0.00/0.00/0.00/0.00,           2.46/2.67/2.32/0.10,           0.42/1.99/0.05/0.63,           0.04/0.19/0.00/0.07,           1.93/2.26/1.47/0.27,           0.00/0.00/0.00/0.00,        73.89/74.95/72.18/0.76,   297.37/1208.62/35.19/442.37,           0.00/0.00/0.00/0.00,
2012-07-27_18:48:23,  0.15,        21.11/23.12/20.07/0.94,           0.00/0.00/0.00/0.00,           2.46/2.67/2.32/0.10,           0.42/1.99/0.05/0.63,           0.04/0.19/0.00/0.07,           1.93/2.26/1.47/0.27,           0.00/0.00/0.00/0.00,        73.89/74.95/72.18/0.76,   297.35/1208.56/35.19/442.35,           0.00/0.00/0.00/0.00,
2012-07-27_18:49:23,  0.14,        21.11/23.12/20.07/0.94,           0.00/0.00/0.00/0.00,           2.46/2.67/2.32/0.10,           0.42/1.99/0.05/0.63,           0.04/0.19/0.00/0.07,           1.93/2.26/1.47/0.27,           0.00/0.00/0.00/0.00,        73.89/74.95/72.18/0.76,   297.34/1208.50/35.19/442.32,           0.00/0.00/0.00/0.00,
2012-07-27_18:50:23,  0.10,        21.11/23.11/20.06/0.94,           0.00/0.00/0.00/0.00,           2.46/2.67/2.32/0.10,           0.42/1.99/0.05/0.63,           0.04/0.19/0.00/0.07,           1.93/2.26/1.47/0.27,           0.00/0.00/0.00/0.00,        73.89/74.95/72.18/0.76,   297.33/1208.45/35.19/442.31,           0.00/0.00/0.00/0.00,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值