工具集:

  • Nmon:性能数据收集分析工具
  • Nmon analyser:性能数据分析工具,excel文件

nmon概述:
     nmon是收集AIX或Linux主机的性能数据并分析的工具,使用简单易用。主要有两个,一个是nmon采集数据的工具,一般名称为nmon_**,例如 nmon_aix5.3,另一个是分析结果的工具,它是一个excel的文件,名称为:nmon analyser v33A.xls。nmon在一个屏幕上显示所有重要的性能数据,并动态地对其进行更新。还可以将数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。nmon_analyser工具以NMON性能工具生成的文件作为输入,然后将它们转换为Excel电子表格,并自动地生成相应的图形。nmon工具对测试结果提供了丰富直观的性能资源图像,建议在出测试报告时使用。

nmon工具可以为AIX和Linux性能专家提供监视和分析性能数据的功能,其中包括:CPU使用率、内存使用情况、内核统计信息和运行队列信息、磁盘I/O速度、传输和读/写比率、文件系统中的可用空间、磁盘适配器、网络I/O速度、传输和读/写比率、页面空间和页面速度、消耗资源最多的进程、计算机详细信息和资源

nmon可以交互式运行:

1)启动该工具 ./ nmon_x86_sles10

2)使用单键命令来查看您所需要的数据。例如,要获取 CPU、内存和磁盘统计信息,启动nmon并输入: c m d
3)获取相关的帮助信息,按h键。
使用下面这些键来切换显示状态:

  • c = CPU
  • l = CPU Long-term
  • - = Faster screen updates
  • m = Memory
  • j = Filesystems
  • + = Slower screen updates
  • d = Disks
  • n = Network
  • V = Virtual Memory
  • r = Resource
  • N = NFS
  • v = Verbose hints
  • k = kernel
  • t = Top-processes
  • . = only busy disks/procs
  • h = more options
  • q = Quit

捕获数据到文件

每1秒捕获数据快照,捕获20次

nmon –f -s  -c 

每30秒捕获数据快照,捕获120次,包含进程信息

nmon –ft -s  -c 

参数说明:

-f以文件的形式输出,默认输出是机器名+日期.nmon的格式(<hostname>_date_time.nmon),也可以用-F指定输出的文件名,例如:

./nmon_x86_rhel4 –F test.nmon -s 30 –c 100

  • -s 是采样频率,隔多长时间收集一次,这里我指定的是30秒一次
  • -c 是采样次数,一共要收集多少次,这里我指定的是100次。注意:这里单次收集的文件大小最多不能超过65K行(EXCEL里的限制),大约是在nmon中-c的值不超过330次就OK
  • -f  输出文件
  • -T 输出最耗资源的进程

定时任务方式收集:

若生成的文件比较大,建议每次收集的次数不要太多,若需要收集很长时间的数据,建议分开收集,也就是生成多个文件,LINUX里可以用建多个job的方式进行,例如:

先创建一个脚本,例如命名为nmon.sh:

#!/bin/sh ./nmon_x86_rhel4 -F 6326081116_6AM.nmon -s -c

给这个文件授权:

#chmod  nmon.sh

然后建一个job:

# at –f nmon.sh : January (如果要建长期任务可以用crontab命令进行,建议一般不要用这个命令,否则很容易忘记你建过多少任务,造成后台事务消耗资源)

nmon_analyser

nmon_analyser工具以NMON性能工具生成的文件作为输入,然后将它们转换为Microsoft Excel电子表格,并自动地生成相应的图形。nmon_analyser工具设计用于最新版本的nmon,但出于向后兼容性的考虑,也使用旧版本对其进行了测试。每当在对nmon进行更新时,同时也将对该工具进行更新。将生成的.nmon文件转为excel能识别的.csv文件:

# sort test.nmon > test.csv(生成的.csv文件就可以放到windows平台下进行分析了)

更多参考:

《nmon性能:分析AIX和Linux性能的免费工具》:http://www.ibm.com/developerworks/cn/aix/library/analyze_aix/


#!/bin/sh
##################################################################################
#Copyright (C), -, xxxx. Co., Ltd.
#FileName: nmon_monitor.sh
#Author: yezhaohui
#Description:
#Version: 1.0
#Date --
#example:./nmon.sh -m ./nmon.sh -h ./
################################################################################## nmonpage_name="nmon_linux_14i.tar.gz"
nmon_name="nmon_x86_64_rhel54" usage()
{
echo "usage: $0 -m|-h minute|hour"
} check_pid()
{
#进程检查
nmonpid=`ps -ef | grep ${nmon_name} | grep -v grep | awk '{print $2}'`
#echo "nmonpid is ${nmonpid}"
if [ -n "${nmonpid}" ];then
echo "process nmon is running!"
echo "kill process nmon? y/n"
while true
do
read x
case "$x" in
y | yes | Y | Yes | YES)
kill - $nmonpid
if [ $? != ];then
echo "kill -9 $nmonpid fail!"
exit -
fi
#echo "kill -9 $nmonpid success!"
break
;;
n | no | N | No | NO)
echo "nothing to do!"
exit -
;;
*)
echo "Please enter yes or no"
;;
esac
done
fi
} #参数检查
if [ $# -ne ];then
usage
exit
fi opt="$1"
optdata="$2" if [ ! ${optdata} -eq ${optdata} ]; then
echo "$optdata is not a number"
usage
exit
fi #进程检查
check_pid #包解压
if [ ! -f $nmonpage_name ];then
echo "don't find $nmonpage_name file! "
exit
fi
chmod $nmonpage_name pwdpath=`pwd`
if [ ! -d ${pwdpath}/bin ];then
mkdir ${pwdpath}/bin
fi
nmonpath="${pwdpath}/bin/" if [ ! -d ${pwdpath}/logs ];then
mkdir ${pwdpath}/logs
fi
logpath="${pwdpath}/logs/" tar -zxvf $nmonpage_name -C $nmonpath > /dev/null #启动nmon监控
case "$opt" in
-m)
if [ $optdata -le ];then
ntime=$((${optdata} * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
elif [ $optdata -le ];then
ntime=$((${optdata} * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
elif [ ${optdata} -le ];then
ntime=$((${optdata} * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
else
ntime=$((${optdata} * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
fi
echo "nmon monitor success!"
;; -h)
if [ $optdata -le ];then
ntime=$((${optdata} * * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
elif [ $optdata -le ];then
ntime=$((${optdata} * * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
elif [ ${optdata} -le ];then
ntime=$((${optdata} * * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
else
ntime=$((${optdata} * * / ))
${nmonpath}${nmon_name} -fT -s -c $ntime -m $logpath
fi
echo "nmon monitor success!"
;;
*)
echo "$opt is error!"
usage
;;
esac

性能监控工具nmon的更多相关文章

  1. Jmeter系列(38)- 详解性能监控工具 nmon

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 做性能测试,服务器监控是至关重要 ...

  2. 工具:linux 性能监控工具-nmon

    nmon 下载:http://pan.baidu.com/s/1jICoSpo 放到linux下可以直接运行. nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新. n ...

  3. linux性能监控工具nmon生成HTML报告-EasyNmon

    一.关于easyNmon说明 为了方便多场景批量性能测试,用golang写了个监控程序,可以通过get url方式启动和停止nmon服务,非常适合配合Loadrunner性能测试框架和jmeter使用 ...

  4. 性能监控工具nmon及nmon_analyser的使用

    nmon和nmon_analyser下载地址: http://nmon.sourceforge.net/pmwiki.php?n=Site.Download   使用步骤: 1.nmon 根据系统版本 ...

  5. CentOS7安装Nmon(linux性能监控工具)

    Nmon开源性能监控工具,用于监控linux系统的资源消耗信息,并能把结果输出到文件中,然后通过nmon_analyser工具产生数据文件与图形化结果. 目录 一.安装软件二.实时监控三.数据采集四. ...

  6. 你值得拥有:25个Linux性能监控工具

    一.基于命令行的性能监控工具 1.dstat - 多类型资源统计工具 该命令整合了vmstat,iostat和ifstat三种命令.同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能 ...

  7. 25个Linux性能监控工具

    一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具.在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接 ...

  8. 老李教你性能测试监控工具nmon

    老李教你性能测试监控工具nmon   loadrunner的某些性能监控器不够强大,这就需要我们利用更好的工具进行监控,在项目中我们会用nmon工具作为辅助性能监控的工具,帮助我们进行性能分析,pop ...

  9. LINUX常见性能监控工具总结

    文章来源 工具功能概览 整理了一个关于监控工具及其功能的表.下面对这些工具单独详细介绍. Linux性能监控工具 top top命令会展示进程的实际活动.默认情况下,它会列出系统上所有cpu密集型任务 ...

随机推荐

  1. .net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串

    1.继承(1)创建子类对象的时候,在子类对象中会为子类对象的字段开辟空间,也会为父类的所有字段开辟空间,只不过父类私有的成员访问不到(2)子类从父类继承父类所有的非私有成员,但是父类的所有字段也会创建 ...

  2. Java Hour 40 Maven ( 2 )

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 40 Maven 坐标 任何一个包都需要一个全世界唯一的id, Ma ...

  3. WPF控件委托

    this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart)delegate { //要执行的代码 });

  4. SQL Server连接数据库失败,可能的问题!

    SQL Server Configuration Manager中启动服务 SQL Server外围应用配置器中,打开远程IP连接属性 别的应该没什么问题了!

  5. servlet中cookie的使用

    ---恢复内容开始--- Cookie是存储在客户端计算机上的文本文件,并保留了它们的各种信息跟踪的目的. Java Servlet透明支持HTTP Cookie. 涉及标识返回用户有三个步骤: 服务 ...

  6. ARP侦查工具Netdiscover

    ARP侦查工具Netdiscover Netdiscover是一个主动/被动的ARP侦查工具.该工具在不使用DHCP的无线网络上非常有用.使用Netdiscover工具可以在网络上扫描IP地址,ARP ...

  7. C#:代表(delegate)和事件(event)

    代表(delegate): 它是C#语言里面的函数指针,代表可以指向某一个函数,在运行的时候调用这个函数的实现.下面来看看它的实现步骤: 声明一个delegate对象. 实现和delegate具有相同 ...

  8. Cat VS Dog

    Cat VS Dog Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others)Total ...

  9. phonegap+html5开发app的一些总结

    1.Css3圆角白边:使用css3圆角效果时,在android某些机器上会产生白边,所以应该在圆角的div外套一个div(背景色和外部相同),然后有圆角效果的div 内部使用自己的背景色 border ...

  10. [Cocos2d-x For WP8]点击移动精灵

    点击移动是游戏里面常用的操作,那么在Cocos2d-x里面可以通过setTouchEnabled(true)方法来设置接收屏幕的点击事件,然后添加ccTouchesEnded(CCSet* touch ...