#!/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
####
监测系统的CPU,内存等性能参数shell程序
最新推荐文章于 2023-09-11 21:31:13 发布