nmon性能监控工具总结

一.nmon工具介绍

nmon 是一个分析aix和linux性能的免费工具(主要是ibm为自己的aix操作系统开发的,但是也可以用在linux操作系统),而nmon_analyser是nmon的一个工具可以把nmon生成的报告转化成excel报表的形式供查看

nmon 工具可以在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。它并不会消耗大量的 CPU ,通常低于百分之二

 

下载地址:

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

http://sourceforge.net/projects/nmon/files/?source=navbar

 

注意选择和自己机器对应的版本:

linux查看系统版本号:

1.方法1

对于linux系统而已,有成百上千个发行版。对于发行版的版本号查看方法

如以centos为例。输入lsb_release -a即可

该命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版

2.

3.

查看系统位数

同样对于Linux系统而言也有32和64位之分,用上述查看内核方法,输入

uname -a  或 more /proc/version

在内核版本后面会有一个X86_64就是表示64为系统啦

# uname -a
x86_64则说明你是64位内核, 跑的是64位的系统.
i386, i686说明你是32位的内核, 跑的是32位的系统

查看内核的几种方法:

1. uname -a#显示详细的内核信息,

Linux localhost.localdomain 2.6.18-92.1.6.el5xen #1 SMP Wed Jun 25 12:56:52 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

2. cat /etc/issue#显示版本类型

Scientific Linux SL release 5.2 (Boron)
Kernel \r on an \m

3. cat /proc/version

Linux version 2.6.18-92.1.6.el5xen (brewbuilder@norob.fnal.gov) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Wed Jun 25 12:56:52 EDT 2008

 

 

查看操作系统位数:

1.ls / #如果有lib64或这个目录,那操作系统就是64位的
2.getconfig LONG_BIT 若输出32即为32位系统,64为64位系统

32位的系统中int类型和long类型一般都是4字节,

64位的系统中int类型还是4字节的,但是long已变成了8字节。

inux系统中可 用”getconf WORD_BIT”和”getconf LONG_BIT”获得word和long的位数。
64位系统中应该分别得到32和64。

3. uname -a中若为X86示意为64位系统,i386等位32位系统

 

 

 

二.下载安装

 

nmon默认下载之后只是一个可执行测的文件,但是下载时根据不同的系统来进行区分的

大家可以根据自己的系统选择相应的版本。

执行命令 more /etc/issue 查看系统版本。

 

首先将下载的nmon_x86_64_centos6文件上传到linux服务器上

[root@localhost source]#cp nmon_x86_64_centos6 /usr/bin

[root@localhost source]#cd /usr/bin

[root@localhost source]# chmod 777 nmon_x86_64_centos6

[root@localhost source]# ./nmon_x86_64_centos6(切换到nmon_x86_rhel45文件所在的目录)

[root@localhost source]# env

[root@localhost source]# mv nmon_x86_64_centos6 nmon

[root@localhost source]# nmon(此时nmon就是全局命令)

也有可能

监控设置

15分钟=900s

#alias nmon15=’nmon -f -s3 -c300 -m /root/qumf/’

 

 

nmon工具命令的使用:

#nmon -s 300 -c 288 -f -m /tmp

-s 300:表示每300秒采集一次数据,

-c 288 :表示采集288次,300*288=86400秒,刚好是1天的数据,这样运行一次这个程序就会生成一个一天的数据文件,

-m /tmp: 表示生成的数据文件的路径

-f :表示生成的数据文件名中有时间

也可以让其自动监控,每天一个文件夹,每小时一个文件,每分钟或5分采样一次

参数解释:
-s10 每 10 秒采集一次数据。
-c60 采集 60 次,即为采集十分钟的数据。
-f 生成的数据文件名中包含文件创建的时间。
-m 生成的数据文件的存放目录。

 

nmon -f -s 10 -c 60

-f 表示生成的数据文件名中有时间;

-s 10 表示每 10 秒采集一次数据;

-c 60 表示采集 60 次,10*60=600 秒,

刚好是 10分钟的数据,这样运行一次这个程序就会生成一个采集 10分钟数据的文件。该行命令将在当前目录中创建输出文件,其名称为:<hostname>_date_time.nmon”, hostname” 是这台主机的主机名。

 

更多用法
crontab -e
0 0 * * * /usr/local/nmo -s300 -c288 -f -m /home/nmon/ > /dev/null 2>&1
表示:
300*288=86400 秒,正好是一天的数据。
0 8 * * 1,2,3,4,5 /usr/local/nmon -f -N -m /home/nmon/log -s 30 -c 1200
表示:
周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/home/nmon/log。

 

 

范例1:

自动按天采集数据:
在 crontab 中增加一条记录:
0 0 * * * nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1:
300*288=86400 秒,正好是一天的数据。

范例2:
A、执行命令:#crontab -e
B、在最后一行添加如下命令:
0 8 * * 1,2,3,4,5 /nmon/scriptn/mon_x86_rhel52 -f -N -m /nmon/log -s 30 -c 1200
表示:
周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log

 

三、nmon数据采集

1、数据采集

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

 

1 #./ nmon -f -t -s30 -c 180

参数说明:

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

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

l-s30:每30秒进行一次数据采集

l-c180:一共采集180次

输入命令回车后,将自动在当前目录生成一个hostname_timeSeries.nmon的文件,nmon输出文件的命名方式是服务器名_日期时间.nmon

特别说明:

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

 

[root@localhost source]# hostname

linux_test

[root@localhost source]# ./nmon -f -s 10 -c 60

[root@localhost source]# ps -ef | grep nmon

root 17815 1 0 08:22 pts/1 00:00:00 ./nmon -f -s 10 -c 60

root 17888 6977 0 08:22 pts/1 00:00:00 grep nmon

[root@localhost source]# ls linux_test_120724_0822.nmon

linux_test_120724_0822.nmon

当我们执行相关命令后,就在当前目录生成了一个以本主机名linux_test开头,以执行日期为规则,nmon结尾的文件,并且我们通过ps命令会看到相关的nmon进程,这里我们当10分钟过去以后我们会发现相关nmon进程会消失的。

linux_test_120724_0822.nmon 就是我们所生成的数据文件,所有的信息都在linux_test_120724_0822.nmon记录,而且我们通过more命令后发现都是我们看不懂的一些文本,这就需要我们把其转化成我们能看懂的excel格式的文件。首先我们把linux_test_120724_0822.nmon文件导出到我们的windows本地。然后我们从http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser

下载nmonanalyser软件到windows本地。打开解压缩文件后,我们会发现2个文件,一个是nmonanalyse的说明word格式的说明稳定,另一个是excel格式的nmonanalyse文件。

我们这里所需要的就是excel格式问文件,我们双击打开。

 

四.生成图形化结果

下载 nmon analyser (生成性能报告的免费工具):

下载地址:

https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/61ad9cf2-c6a3-4d2c-b779-61ff0266d32a/page/b7fc61a1-eef9-4756-8028-6e687997f176/attachment/721e9797-b5fc-41d7-9b2f-5bd2aa2c8f7d/media/nmon_analyser_34a.zip

 

解压之后可以得到一个nmon analyser v34a.xls,

双击打开nmon analyser v34a.xls;

设置excel宏的安全级别调低
选中上图中的选项,

打开nmon_analyser中的excel,然后载入nmon数据,保存输出的excel即可。

动态显示: