自己动手创建 AIX 平台上的性能监测工具
2008-11-10 08:23:07 来源:WEB开发网知道如何用命令监测我们需要的性能数据后,就可以开始动手编写脚本 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
- ››创建SQL2005自动备份,定期删除的维护计划
- ››创建动态表单 javascript
- ››自己动手写iPhone wap浏览器之界面架构篇
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››创建一个Twisted Reactor TCP服务器
- ››自己也能DIY个性真人QQ表情
- ››自己动手!巧法让酷狗动感歌词更完美
- ››自己编译Google Android内核的Linux源码
- ››自己写的一个jquery模板引擎(json比较好用)
- ››创建Windows Mobile上兼容性好的UI 程序
- ››创建android的Service
更多精彩
赞助商链接