nmon以及nmon analyser 教程

一、nmon是一款很好的unix、linux下的系统性能监控工具。

引自百度知道:

nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它并不会消耗大量的 CPU 周期,通常低于百分之二。在更新的计算机上,其 CPU 使用率将低于百分之一。

使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段。如果您拉伸窗口,并在 X Windows、VNC、PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。

nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式 (.csv)。

二、官方下载时需要根据操作系统版本选择工具版本

几种查看linux版本信息的方法:
1)uname -a
2)cat /proc/version
3)cat /etc/issue
4) ls /boot  #一些系统引导文件,主要包括内核映像(内核的压缩文件),系统默认会带上它们的版本号,所有也可以看出内核的版本,不过如果要查看当前正在运行的系统的版本号,而/boot下有多个内核版本,那么还是需要用上面的三种办法。

Nmon下载:http://www-941.haw.ibm.com/collaboration/wiki/display/WikiPtype/nmon

Nmonanalyser下载:http://www-941.haw.ibm.com/collaboration/wiki/display/Wikiptype/nmonanalyser

三、下载完成后将对应操作系统版本的nmon文件上传到操作系统(必须是二进制上传),而后赋予可执行权限(可执行文件),执行如下命令:

#./ nmon -f -t -s 30 -c 180
n -f:按标准格式输出文件:_YYYYMMDD_HHMM.nmon;
n -t:输出中包括占用率较高的进程;
n -s 30:每30秒进行一次数据采集
n -c 180:一共采集180次

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

# sort -A test1_090308_1313.nmon > test1_090308_1313.csv

生成图形化结果:

通过nmon analyser.xls工具可以把监控的结果文件转换成excel文件,方便分析系统的各项资源占用情况。
1、 打开nmon analyser.xls工具;
2、 调整excel宏安全性:工具-宏-安全性
(修改安全级别与可靠发行商)
(选择)安全级别:低
(勾上)信任所有安装的加载项和模板
(勾上)信任对于“Visual Baisc项目”的访问
3、 修改完后,确定-关闭nmon analyser.xls,重新打开;
4、 点击Analyse nmon data按钮,加载之前下载的test1_090308_1313.csv文件。

四、分析结果中有很多数据和图形,简要介绍主要的性能参数图像

4.1 系统汇总(对应excel标签的‘SYS_SUMM’)
蓝线为cpu占有率变化情况;
粉线为磁盘IO的变化情况;
4.2磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)
蓝色为磁盘读的速率KB/sec
紫色为磁盘写的速率KB/sec
4.3内存情况汇总(对应excel标签的‘MEM’)
曲线表示内存剩余量(MB)
分析数据得到的报告文件(.xls)中包含很多性能分析结果数据,根据自己的需要查看。

nmon以及nmon analyser 教程_第1张图片

nmon以及nmon analyser 教程_第2张图片

五、nmon运行本身是会消耗系统资源的;

取到.nmon文件后确定不再需要nmon继续收集信息则应kill掉nmon;
命令:

  1. ps -A | grep nmon #得到pid
  2. kill -9 pid             #安全kill



-----------------------------------------------------方式二  -------------------------------------------



在性能测试过程中,对主机资源的监控有着重要意义。一方面,在测试过程中可以判断加压是否成功、系统是否能承受当前压力,确保系统安全;另一方面,测试结束后,通过对监控数据的整理,可以为性能分析、发现问题、寻找瓶颈提供数据支持。本文将结合工作中的实际情况,介绍Unix、Linux操作系统中常用的资源监控工具NMON及使用方法。

一、NMON介绍

nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。并且,nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。

针对不同的操作系统版本,nmon有相应版本的程序,需要注意的是该文件需要执行授权操作方可正常运行。

二、NMON使用方法

实际工作中,nmon有三种常用的使用模式,分别是实时监控、后台监控和定期监控模式。下面分别加以介绍。

1、实时监控:在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键“H”)查看,如图1 NMON实时监控界面所示,显示了Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据实时刷新,一目了然。但是如果我们希望将一段时间的资源情况记录下来,以备后续的分析工作,则需要以另一种方式使用nmon。

nmon以及nmon analyser 教程_第3张图片 

图 1 NMON实时监控界面

2、后台监控:为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令:./nmon -f -s 10 -c 360。说明:

-f :按标准格式输出文件名称:_YYYYMMDD_HHMM.nmon

-s :每隔n秒抽样一次,这里为10秒

-c :取出多少个抽样数量,这里为360,即监控=10*360/3600=1小时

该命令启动后,会在nmon所在目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。

3、定期监控:除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控可通过“#crontab -e”命令实现,在最后一行添加“0 8 * * 1,2,3,4,5 /nmon -f -s 30 -c 1200”,表示:周一到周五,从早上08点开始,监控10个小时(到18:00整为止)。

三、NMON监控结果分析

通过后台监控和定期监控,我们可以得到扩展名为nmon的监控文件,这些文件记录着系统资源的数据,需要配合分析工具进行解读。nmon analyser.xls可以将.nmon文件转化为Excel文件,并生成统计图,直观显示系统资源情况。如图2 系统资源汇总所示,显示了系统CPU及IO资源的总体使用情况。其中蓝色曲线表示CPU资源,可知测试过程中CPU利用率在70%上下波动,表明系统对于CPU资源利用比较充分,未出现瓶颈,也未出现资源利用不足情况。

 nmon以及nmon analyser 教程_第4张图片

图 2 系统资源汇总

在测试过程中,我们往往需要更加详细的信息以分析系统性能情况,如果认为磁盘IO偏高,我们需要进一步获取磁盘的详细信息加以分析,在nmon结果中打开“DISK_SUMM”标签页,如图3 磁盘资源汇总所示。

nmon以及nmon analyser 教程_第5张图片 

图 3 磁盘资源汇总

观察结果,发现磁盘写入数据较多,平均值达到每秒450KB,可以判断这是造成磁盘IO偏高的主要原因,那么结合系统实际设置,可以进一步确定造成问题的原因,如系统日志级别过低等等。NMON能够提供CPU、内存、硬盘、网络等各方面的信息,对于我们的分析工作能够提供很好的数据支持。

另外,我们可以通过一些输出参数的调整以得到偏重不同角度、或不同形式的统计结果,其中比较常用的“Intervals”参数,该参数定义了原始.nmon文件的取值范围,即统计内容取自原始数据的哪部分。因为原始数据是多个采样点的集合,通过设置“Intervals”的开始、结束值。(如开始为1,结束为60,根据前文的设置,可知这是截取了前十分钟的数据进行统计展示)

总结:本文介绍了适合在Unix、Linux操作系统中使用的主机资源监控工具NMON,并简单说明了其使用方法和常用监控方式。在实际项目中,为了建立完善的监控体系,还可能需要与其他工具、方法配合使用,以达到我们的测试目标。


你可能感兴趣的:(linux)