记录一段时间内,进程的具体参数。再分析记录数据,输出使用cpu最高的命令,和最耗内存的命令。

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

#!/bin/sh

#redstar
#chmod +x getPs.sh
#run: ./getPs.sh   OR  ./getPs.sh sleepTime stepsTimes scenario
#output: scenario_ip_time.txt , record the progress of os during the shell running time. 


secs=20
steps=36
Lip=127.0.0.1
ps_f="ps_"
if [ -n "$1" -a -n "$2" -a -n "$3" ];then
    secs=$1
    steps=$2
	ps_f=$3
fi

ps_time=`date +%Y%m%d`"_"`date +%H%M%S`
#判断系统类型,选择不同命令
OSType=`uname`
if [ $OSType = "Linux" ];then
    Lip=`ifconfig -a |grep "inet addr:"|head -1|cut -d":" -f2|cut -d" " -f1|sed 's/\./_/g'`
	fileName=$ps_f$Lip"_"$ps_time.txt
	count=1
	while (( $count <= $steps ))
	do
		ps -eo "%C # %G # %P # %U # %g # %n # %p # %r # %t # %u # %x # %y # %z # %c # %a">>$fileName
		echo>>$fileName
		echo>>$fileName
		sleep  $secs
		count=`expr $count + 1`
	done
elif [ $OSType = "AIX" ];then
    Lip=`ifconfig -a |grep "inet"|head -1|cut -d" " -f2|sed 's/\./_/g'`
	fileName=$ps_f$Lip"_"$ps_time.txt
	count=1
	while (( $count <= $steps ))
	do
		ps -eo "%t # %D # %G # %n # %C # %r # %p # %P # %g # %u # %S # %x # %T # %y # %U # %z # %c # %a">>$fileName
		echo>>$fileName
		echo>>$fileName
		sleep  $secs
		count=`expr $count + 1`
	done
fi