监测系统的CPU,内存等性能参数shell程序

#!/bin/sh
#用于监控系统cpu及内存等信息
#用法: mytop [pid] [sleeptime (option)] [log_alias (option)]
#参数:pid (必须)  如果需要监控系统性能,那么请将[pid]设置为0
#      sleeptime (可选) 单位为秒,默认1秒
#      log_alias (可选) 默认为top.log


curr_dir=`pwd`
dir=$curr_dir
log_name=top.log
#sleep time (sec)
sleep_time=1

if [ -z $1 ] ; then
  echo 'Usage: mytop [pid] [sleeptime (option)] [log_alias (option)]'
  echo 'system monitor : [pid] = 0'
  exit "Missing paramters!"
fi

if [ -z $2 ] ; then
 echo "sleep $sleep_time "
  else
    sleep_time=$2
 echo "sleep $sleep_time "
fi

if [ -z $3 ] ; then
 echo "to $log_name "
  else
 log_name=top_$3.log
 echo "to $log_name "
fi

       if [ "$1" != "0" ] ; then
       echo 'PID USER PR  NI  VIRT RES  SHR S %CPU %MEM TIME+' >> $dir/$log_name
       fi

while true
  do
       if [ "$1" = "0" ] ; then
            nowtime=`date +%Y-%m-%d' '%H:%M:%S`
            echo $nowtime >> $dir/$log_name
            top -b  -n 1 | grep  "top - \|Tasks\|Cpu(s)\|Mem\|Swap" >> $dir/$log_name
            sleep  $sleep_time
            echo "----------------------------------------------------------" >> $dir/$log_name
       else
             nowtime=`date +%Y-%m-%d' '%H:%M:%S`
             top -p $1 -d 1 -b -c  -n 1 | grep $1 | awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11}'  >> $dir/$log_name
#             echo $nowtime >> $dir/$log_name
             sleep  $sleep_time
       fi
  done

####

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值