WEB开发网
开发学院操作系统Linux/Unix 自己动手创建 AIX 平台上的性能监测工具 阅读

自己动手创建 AIX 平台上的性能监测工具

 2008-11-10 08:23:07 来源:WEB开发网   
核心提示: 知道如何用命令监测我们需要的性能数据后,就可以开始动手编写脚本 aixperfmonitor.sh 来分析命令的输出,自己动手创建 AIX 平台上的性能监测工具(4),把需要的数据写到相应的数据文件当中去以便于后面绘制性能图表,另外,这个脚本也包含按照设定的时间间隔持续监测性能数据的功能,

知道如何用命令监测我们需要的性能数据后,就可以开始动手编写脚本 aixperfmonitor.sh 来分析命令的输出,把需要的数据写到相应的数据文件当中去以便于后面绘制性能图表。另外,这个脚本也包含按照设定的时间间隔持续监测性能数据的功能。

清单 1 aixperfmonitor.sh

#!/bin/sh
function usage {
echo "Usage aixperfmonitor.sh -t <duration> -i <interval>"
echo " where:"
echo " -t: total monitor duration in minutes"
echo " -i: monitor interval in minutes"
echo ""
exit
}
function checkProcess {
# 如果有多个以 java 命名的进程,还需通过别的关键字精确选取要监测的 java 进程
ret=`ps -ef|grep java|grep WebSphere`
if [ $? -ne 0 ]; then
JAVARun=0
else
javapid=`ps -ef|grep java|grep WebSphere|awk '{print $2}'`
fi
}
function updatePerflog {
#CPU dat file format
#time %usr %sys %wio %idle
sar -u 1 1|tail -1|awk '{print $1,$2,$3,$4,$5}' >> $CPUDAT
#Mem dat file format
#time inuse free pin virtual
time=`date +%T`
svmon -G|sed -e "s/memory/$time/"|sed -n '2p'|awk '{print $1,$3,$4,$5,$6}' >> $MEMDAT
#Process dat file format
#time inuse pin pgsp virtual
if [ $JAVARun -eq 1 ]; then
time=`date +%T`
svmon -P $javapid | awk '($2 ~/java/){print $2,$3,$4,$5,$6}'|sed -e "s/java/$time/" >>
   $JAVADAT
fi
}
DATDIR=/perflog
CPUDAT=cpu.dat
MEMDAT=mem.dat
JAVADAT=java.dat
duration=30
interval=30
javapid=0
running=0
JAVARun=1
while getopts ":t:i:" opt
do
case $opt in
t) duration=$OPTARG;;
i) interval=$OPTARG;;
esac
done
#check process existence of java
checkProcess
rm -rf $DATDIR
mkdir -p $DATDIR
cd $DATDIR
touch $CPUDAT
touch $MEMDAT
if [ $JAVARun -eq 1 ]; then
touch $JAVADAT
fi
# 按照一定的间隔时间,在指定的时间内持续监测系统的性能数据
while [ $running -lt $duration ]
do
updatePerflog
sleep `expr $interval * 60`
running=`expr $running + $interval`
done

上一页  1 2 3 4 5 6 7  下一页

Tags:自己 动手 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接