记录下防止需要使用的找不到,如果对大家有帮助那就更好。
压力测试的时候需要监控服务器各种状态,简单点就是用nmon。记录下我的使用过程:
1.在对应的服务器上安装nmon
2.为了方便获取nmon生成的监控文件写了两个脚本:setm/getm,我把文件放在了/usr/local/bin目录下,有在/home/nmon/nmon目录下建了bakcsvnmon baknmon csvnmon nmon这个几个文件夹用来做备份。
3.setm脚本,主要设置监控的间隔时间和持续时间:
#!/bin/bash
#check time parameter
function checkTimeNullAndNum(){
if ! echo "$1" | grep -q '^[0-9]\+$' ;then
echo "等待超时或输入为空或输入非数字,程序退出"
exit 0
fi
}
#check Interval parameter
function checkIntervalNullAndNum(){
if ! echo "$1" | grep -q '^[0-9]\+$' ;then
echo "由于您输入回车或超时或为空或非数字,程序已取默认值"
interval=5
fi
}
#inputAndCheck
read -p "请输入监控时长(单位为分) :" -t 30 time
checkTimeNullAndNum $time
echo "监控时长输入校验通过"
read -p "请输入两次监控间隔时长(单位为秒),默认值为5秒/次,回车即可 :" -t 30 interval
checkIntervalNullAndNum $interval
echo "监控间隔时间校验通过"
#move /home/nmon/nmon history to /home/nmon/baknmon/
nmonfile=`ls /home/nmon/nmon/`
if [ -z "$nmonfile" ]; then
echo "没有可备份文件"
else
mv /home/nmon/nmon/* /home/nmon/baknmon/
echo "备份过去nmon文件成功"
fi
#action
nmon -f -T -s $interval -c `expr $(($time*60/$interval))` -m /home/nmon/nmon
echo "监控已正常启动,当前系统时间为:"
date
echo "请$time分钟后获取监控文件"
4.getm文件见附件
5.nmon分析文件见附件