分享

nmon——非常棒的LINUX/AIX性能计数器监测和分析工具:

 唐僧0012 2013-01-05
nmon——非常棒的LINUX/AIX性能计数器监测和分析工具:

经常看到很多人讨论说loadrunner对linux/aix的性能监测太少,的确,LR对于非WINDOWS平台的监测是太少了点,但是我们可以借助IBM的nmon来进行性能分析,这是一个非常棒的工具,下载地址在IBM官方网站:
http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmon

nmon分析工具下载地址:
http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser

需注意的是:nmon目前只是针对aix和linux有版本,对于hp unix和solaris不支持。

其实性能测试不要局限于某一个工具,loadrunner主要功能是负载生成,在实际工作中我们可以借助众多的性能分析工具去进行性能监控和分析,利用oracle/db2/sql 等自带的trace工具,windows的perfmon,java的jprofile,nmon。。。。。。。以及各unix系统自带的性能监测命令如vmstat,iostat,sar等。

对于性能测试,最重要是了解其原理,多去关注一些性能优化的方法,这样对于性能测试和分析有非常大的提高和帮助。

这里是我整理的nmon使用方法(windy个人总结,若转载请注明来源于51Testing

nmon目前可支持AIX和LINUX,可到以下地址去免费下载:http://www-941.haw.ibm.com/colla ... play/WikiPtype/nmon
nmon的使用比较简单,不用安装,直接将对应版本的安装包放到服务器上的某个目录下,运行即可,例如:
ljw注释:要先给要使用的文件赋权限,我用到的是nmon_linux_x86,所以赋权限的命令为chmod 777 nmon_linux_x86

# ./nmon_x86_rhel4         ljw注释:实际使用中是使用了 ./nmon_linux_x86

显示CPU可按C,同样,Memory—M,Network I/O----N, Disk I/O---D如下:

按q键可以退出nmon,但是此时的定位符有点乱,最好clear一下。
# ./nmon –f -s 30 –c 100
说明:-f 以文件的形式输出,默认输出是机器名+日期.nmon的格式,也可以用-F指定输出的文件名,例如: # ./nmon_x86_rhel4 –F test.nmon -s 30 –c 100;
-s是采样频率,隔多长时间收集一次,这里我指定的是30秒一次;
-c是采样次数,一共要收集多少次,这里我指定的是100次。
注意:这里单次收集的文件大小最多不能超过65K行(EXCEL里的限制),大约是在nmon中 –c的值不超过330次就OK。
./nmon -f -s 10 -c 150
nmon生成的文件比较大,建议每次收集的次数不要太多,若需要收集很长时间的数据,建议分开收集,也就是生成多个文件,LINUX里可以用建多个job的方式进行,例如:
先创建一个脚本,例如命名为nmon.sh,如下:
#! /bin/sh      ljw注释:我没有用到这个命令,而是直接在windows操作系统中新建一个文本,把 ./nmon_linux_x86 -f -s 2 -c 10 写进去,保存,然后把这个文件复制
到Linux中,给这个文件授权,然后建一个job
./nmon_x86_rhel4 -F 6326081116_6AM.nmon -s 60 -c 240
给这个文件授权:
#chmod 777 nmon.sh
然后建一个job:
# at –f nmon.sh 6:00 January 16
运行完毕如下:

如果要建长期任务可以用crontab命令进行,建议一般不要用这个命令,否则很容易忘记你建过多少任务,造成后台事务消耗资源。

分析:
将生成的.nmon文件转为excel能识别的.csv文件,如下:
# sort test.nmon > test.csv

生成的.csv文件就可以放到windows平台下进行分析了。


通常,我不太建议对稳定性测试用nmon监控,因为需要收集太多的信息生成文件较大,实际上,要对linux/unix的服务端资源进行性能监控,用vmstat和iostat这两个命令去收集足够了。

在/home/software/nmon
nmon.sh 10 1
10指每10秒统计一次,1指共运行1分钟, 每300次会新生成一个文件.
 
 
生成的csv文件,可以用nmon_analyser分析,可以看下面这篇文章

1、概述

    监控,在检查系统问题或优化系统性能工作上是一个不可缺少的部分。通过操作系统监控工具监视操作系统资源的使用情况,间接地反映了各服务器程序的运行情况。根据运行结果分析可以帮助我们快速定位系统问题范围或者性能瓶颈点。

    nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。

    nmon所记录的数据包含以下一些方面(也是我们在寻找问题过程中所关注的资源点):

 cpu占用率

 内存使用情况

 磁盘I/O速度、传输和读写比率

 文件系统的使用率

 网络I/O速度、传输和读写比率、错误统计率与传输包的大小

 消耗资源最多的进程

 计算机详细信息和资源

 页面空间和页面I/O速度

 用户自定义的磁盘组

 网络文件系统

    另外在AIX操作系统上,nmon还能监控到其他的一些信息,如异步I/O等。

2、下载安装nmon

    如何获取nmon呢?我们可以在IBM的官方网站上免费下载获取,下载网址为:http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon。

nmon的安装步骤如下:

1)用root用户登录到系统中;

2)建目录:#mkdir /test;

3)把nmon用ftp上传到/test,或者通过其他介质拷贝到/test目录中;

4)执行授权命令:#chmod +x nmon。

3、nmon数据采集

3.1数据采集

    为了实时监控系统在一段时间内的使用情况并将结果记录下来,我们可以通过运行以下命令实现:

#./ nmon -f -t -s 30 -c 180

n -f:按标准格式输出文件:<hostname>_YYYYMMDD_HHMM.nmon;

n -t:输出中包括占用率较高的进程;

n -s 30:每30秒进行一次数据采集

n -c 180:一共采集180次

    输入命令回车后,将自动在当前目录生成一个hostname_timeSeries.nmon的文件,如果hosname为test1,生产的文件为:test1_090308_1313.nmon。

通过sort命令可以将nmon结果文件转换为csv文件:

# sort -A test1_090308_1313.nmon > test1_090308_1313.csv

执行完sort命令后即可在当前目录生产test1_090308_1313.csv文件。

3.2 生成图形化结果

    为了分析nmon监控获得的结果,IBM还提供了相应的图形化分析工具nmon_analyser,通过nmon analyser.xls工具可以把监控的结果文件转换成excel文件,方便分析系统的各项资源占用情况。

nmon analyser.xls工具的使用方法如下:

1、 打开nmon analyser.xls工具;

2、 调整excel宏安全性:工具-宏-安全性

(修改安全级别与可靠发行商)

(选择)安全级别:低

(勾上)信任所有安装的加载项和模板

(勾上)信任对于“Visual Baisc项目”的访问

3、 修改完后,确定-关闭nmon analyser.xls,重新打开;

4、 点击Analyse nmon data按钮,加载之前下载的test1_090308_1313.csv文件。

以下是分析结果的截图:


如图 1

以上就是nmon的简单描述与使用介绍,大家可以根据自己所采集到的结果分析系统的情况。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多