服务器性能测试工具 ---- nmon

Posted ailiailan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器性能测试工具 ---- nmon相关的知识,希望对你有一定的参考价值。

一、下载nmon

根据CPU的类型选择下载相应的版本:

http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip

方法1:

1
2
3
4
[[email protected] ~]# cd /opt
[[email protected] opt]# mkdir nmon
[[email protected] opt]# cd nmon
[[email protected] nmon]#wget <a href="http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip/download">http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip</a>

方法2:

点击第一个链接,下载列表中的nmon_linux_14i_newer_Linux_versions.tar.gz,解压后里边有很多版本的nmon,我用的是nmon_linux_x86_64,亲测可用。根据linux系统版本,使用其他版本可能会提示glibc版本太低,需要安装更高版本的glibc,遇到这种问题请参考http://blog.csdn.net/cpplang/article/details/8462768

直接在window中将解压好的nmon_linux_x86_64通过sftp上传到要监控的linux系统中对应目录下

 

二、初始化工具

[[email protected] nmon]# unzip nmon_x86_12a.zip
Archive:  nmon_x86_12a.zip
  inflating: nmon_x86_rhel45         
  inflating: nmon_x86_rhel52         
  inflating: nmon_x86_sles9          
  inflating: nmon_x86_sles10         
  inflating: nmon_x86_ubuntu810      
  inflating: nmon_x86_fedora10       
  inflating: nmon_x86_opensuse10     
[[email protected] nmon]# ls
nmon1             nmon_x86_fedora10    nmon_x86_rhel45  nmon_x86_sles10  nmon_x86_ubuntu810
nmon_x86_12a.zip  nmon_x86_opensuse10  nmon_x86_rhel52  nmon_x86_sles9
[[email protected] nmon]# mv nmon_x86_ubuntu810 nmon                                        #重命名nmon
[[email protected] nmon]# chmod +x nmon                                                     #授权命令
[[email protected] nmon]#ls 
nmon nmon1 nmon_x86_12a.zip nmon_x86_fedora10 nmon_x86_opensuse10 nmon_x86_rhel45 nmon_x86_rhel52 nmon_x86_sles10 nmon_x86_sles9

然后直接运行 nmon 即可,直接运行nmon可以实时监控系统资源的使用情况,执行下面的步骤可以展现一段时间系统资源消耗的报告。

下面是直接执行nmon命令实时监控系统资源消耗情况的截图:

[[email protected] nmon]#./nmon

技术分享图片

技术分享图片

CPU、内存、磁盘和网络的消耗情况都被很直观的展现出来。

按键“C”可以查看CPU相 关信息;

按键“D”可以查看磁盘信息;

按键“T”可以查看系统的进程信息;

M”对应内存、“N”对应网络等等;

完整的快捷键对应内容可以通过帮助(按键 “H”)查看。

可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据均是实时刷新,一目了然。

 

三、生成nmon报告

1).采集数据:
#  ./nmon -s10 -c60 -f -m /home/

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

这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。
生成的文件名如: lampard_190103_1506.nmon ,"lampard" 是这台主机的主机名。

nmon -h       查看更多帮助信息

---------------------------------------

---------------------------------------

!!!可能会遇到下面问题

技术分享图片

解决方式:

技术分享图片
先看看这个命令属于哪个软件包:
[[email protected] ~]#  yum provides */lsb_release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.psychz.net
* epel: mirrors.solfo.com
* extras: mirror.san.fastserv.com
* updates: mirror.lax.hugeserver.com
base/filelists_db                                                       | 5.1 MB     00:00
epel/filelists_db                                                       | 7.8 MB     00:00
extras/filelists_db                                                     |  31 kB     00:00
updates/filelists_db                                                    | 614 kB     00:00
vz-base/filelists                                                       |  825 B     00:00
vz-updates/filelists                                                    | 3.0 kB     00:00
redhat-lsb-core-4.0-7.el6.centos.i686 : LSB base libraries support for CentOS
Repo        : base
Matched from:
Filename    : /usr/bin/lsb_release
dkms-2.2.0.3-28.git.7c3e7c5.el6.noarch : Dynamic Kernel Module Support Framework
Repo        : epel
Matched from:
Filename    : /usr/lib/dkms/lsb_release
dkms-2.2.0.3-26.el6.noarch : Dynamic Kernel Module Support Framework
Repo        : installed
Matched from:
Filename    : /usr/lib/dkms/lsb_release
redhat-lsb-core-4.0-7.el6.centos.i686 : LSB base libraries support for CentOS
Repo        : installed
Matched from:
Filename    : /usr/bin/lsb_release

可以看出,属于redhat-lsb这个包,那么接着使用yum安装这个包:
[[email protected] ~]# yum install  -y  redhat-lsb
[[email protected] ~]# lsb_release -r
技术分享图片

 

2).生成报表:

下载 nmon analyser (生成性能报告的免费工具):
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser


   将之前生成的 nmon 数据文件传到 Windows 机器上,用 Excel 打开分析工具 nmon analyser v33C.xls 。点击 Excel 文件中的 "Analyze nmon data" 按钮,选择 nmon 数据文件,这样就会生成一个分析后的结果文件: hostname_090824_1306.nmon.xls ,用 Excel 打开生成的文件就可以看到结果了。

!!  如果宏不能运行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。


下面是在测试环境中生成的nmon报告截图:

技术分享图片

红色区域为不同指标的分析报告。

 

3).定时任务

    除配合性能测试的短期监控,也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控实现如下:

1)   执行命令:# crontab  –e             #定时任务命令

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

自动按天采集数据:
在 crontab 中增加一条记录:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1

300*288=86400 秒,正好是一天的数据。

 

四、停止监控

nmon运行本身是会消耗系统资源,如需关闭nmon,直接kill掉

# ps -ef | grep nmon          (得到pid)

# kill -9 pid                         (安全kill)

 

-----------------------------------------------------------------

-----------------------------------------------------------------

!!!实际应用时遇到“nmon analyser 运行时错误 13 类型不匹配”

解决办法: 将本机系统时间格式设置为:yyyy-MM-dd。电脑的计算机名不能有特殊字符。

-----------------------------------------------------------------

-----------------------------------------------------------------

本文引用了其他文章。

 




















以上是关于服务器性能测试工具 ---- nmon的主要内容,如果未能解决你的问题,请参考以下文章

22. 服务器性能监控之nmon工具介绍

nmon服务器性能检测工具的使用

性能测试之nmon对linux服务器的监控

linux服务器性能检测工具nmon使用

性能测试数据收集工具nmon

linux性能监控工具-nmon安装使用详细教程