一、软件介绍
1.分析工具

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

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

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

nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:

 

    CPU 使用率

    内存使用情况

    内核统计信息和运行队列信息

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

    文件系统中的可用空间

    磁盘适配器

    网络 I/O 速度、传输和读/写比率

    页面空间和页面速度

    CPU 和 AIX 规范

    消耗资源最多的进程

    IBM HTTP Web 缓存

    用户自定义的磁盘组

    计算机详细信息和资源

    异步 I/O,仅适用于 AIX

    工作负载管理器 (WLM),仅适用于 AIX

    IBM TotalStorage Enterprise Storage Server (ESS) 磁盘,仅适用于 AIX

    网络文件系统 (NFS)

    动态 LPAR (DLPAR) 更改,仅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower

 

还包括一个用来从 nmon 的输出生成图形并创建可以在 Web 站点显示的 .gif 文件的新工具。

 

 
二、软件下载安装
1.下载

nmon下载页:

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

 

nmon_analyser下载页:

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser

 

注意根据不同的平台,下载不同的nmon包;

 

这里以centos为例,下载不同的操作系统版本对应的包:

nmon_linux_14i.tar.gz

nmon_x86_64_centos6:兼容CentOS6-64位操作系统

nmon_x86_centos6:兼容CentOS6-32位操作系统

MPG_nmon_for_Linux_14a_binaries.zip

nmon_x86_64_centos5:兼容CentOS5-64位操作系统

nmon_x86_centos5:兼容CentOS5-32位操作系统

 
2.安装

从下载的包中,取出对应平台的二进制文件,如:nmon_x86_64_centos6(兼容CentOS6-64位操作系统);

上传到CentOS6-64位服务器上,如:/usr/local/bin目录下(/usr/local/bin默认在环境变量中,系统可识别其目录下的可执行程序,可直接运行)

重命名:mv nmon_x86_64_centos6 nmon

增加可执行权限:chmod +x nmon

 

执行:nmon,确认可以使用;(centos下,当前方式会显示乱码,不推荐使用,下面介绍性能测试过程中,记录监控数据方法)

 
三、使用nmon监控服务器资源
1.捕获数据到文件

捕获数据到文件,只要运行带 -f 标志的 nmon 命令。执行nmon –f ***后,nmon 将转为后台运行。要查看该进程是否仍在运行,可以输入: ps -ef | grep nmon。

示例:

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

nmon –f -s 1 -c 20 -m /home/

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

nmon –f -t -s 30 -c 120 -m /home/

命令将在当前目录中创建输出文件,其名称为: <hostname>_date_time.nmon。该文件采用逗号分隔值 (CSV) 的格式,并且可以将其直接导入到电子表格中,可进行分析和绘制图形

 

参数解释:
-s每 X 秒采集一次数据。
-c 采集 Y 次,即为采集X*Y秒的数据。
-f 生成的数据文件名中包含文件创建的时间。

-t在导出的信息中包含前几位的进程信息。

-m 生成的数据文件的存放目录。

这样就会生成一个nmon文件,并每X秒更新一次,采集Y次,直到X*Y秒后。
生成的文件名如:<hostname>_YYYYMMDD_HHMM.nmon,"<hostname>" 是这台主机的主机名。

 

提前停止监控,可以使用命令杀掉进程,下述方法都可:

1)killall -9 nmon

2)ps -ef | grep nmon,得到PID进程号,再进行kill -9 nmon的pid

3)kill -9 `pidof nmon`

 

nmon -h查看更多帮助信息。

 
2.使用nmon analyser生成报表

nmon analyser 工具以 NMON 性能工具生成的文件作为输入,然后将它们转换为 Microsoft Excel 电子表格,并自动地生成相应的图形。

使用wps未能正确执行脚本生成*.xls文件。建议使用Microsoft Excel 2007 或更高版本,必须在打开nmon_analyser.xls时选择启用宏。

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

注:nmon analyser工具,推荐nmon采样300次或以内,这样生成的图形较为美观。

注:NA_UserGuide v34.doc,该用户手册中有对各图表及列含义进行说明;
3.多台服务器同时进行监控

测试过程中,有可能需要同时监控多台服务器资源情况,这时每一台上面去执行nmon监控命令,较为麻烦,且操作时间点也不一致。

可通过:在一台服务器上,同时远程执行多台服务器的nmon命令操作,以解决该问题。

 

操作步骤:

1)服务器之间配置信任关系;进行ssh或scp时,无需输入密码。

参见:http://www.51testing.com/html/00/130600-147281.html

2)把需要远程执行的命令写入shell脚本中,以方便执行,参见:nmon.sh;

3)把不同服务器上的日志文件下载到本地PC,通过nmon analyser工具进行分析;也可使用远程执行命令方式,在同一台服务器上进行操作下载.nmon文件(存放目录、文件命名规范,可方便操作);

 

# cat nmon.sh

 

#!/bin/bash

mkdir -p /tmp/nmon_monitor

/usr/local/bin/nmon -f -t -s 5 -c 100 -m /tmp/nmon_monitor -F 146.182_$1.nmon

ssh root@192.168.146.180 'mkdir -p /tmp/nmon_monitor;/usr/local/bin/nmon -f -t -s 5 -c 100 -m /tmp/nmon_monitor -F 146.180_'$1'.nmon'

ssh root@192.168.148.137 'mkdir -p /tmp/nmon_monitor;/usr/local/bin/nmon -f -t -s 5 -c 100 -m /tmp/nmon_monitor -F 148.137_'$1'.nmon'

 

脚本说明:

1)生成的.nmon文件,推荐放在同一目录下,如:-m参数指定的:/tmp/nmon_monitor;

2)生成的.nmon文件,推荐增加IP或hostname标识,下载到本地时,不同服务器数据不会弄混,如:146.182_$1.nmon;

3).nmon文件中,使用了参数$1,用于传参给生成的文件名,如:./nmon.sh 20140901_01;则生成的文件为:146.182_20140901_01.nmon;

4)-s 5 -c 100根据实际指定,这里表示每隔5秒采集一次数据,共采集100次,即持续5*100=500秒;

 
4.nmon的不足

nmon监控的不足之处:

1)没有负载监控数据;

w/top命令中:

load average: 0.40, 0.53, 0.63

测试过程中,注意使用w或top查看该信息。

 

2)内存监控数据中,没有used信息,需要计算;

# free

             total       used       free     shared    buffers     cached

Mem:       2075336    1850744     224592          0     595064     539744

-/+ buffers/cache:     715936    1359400

Swap:      2048248      30996    2017252

 

free命令中显示的used:used=total-free

真实使用used=total-free-cached-buffers

 

这部分数据,可以在nmon analyser生成的.xls报表中,计算得出,并对应生成图表;

 

3)IO监控数据中,没有%util信息;

有IO读写速率等相关信息,也可以进行IO问题分析。

 
四、参考资料

nmon网站:

http://nmon.sourceforge.net/

 

Linux下使用NMON监控、分析系统性能:

http://blog.itpub.net/23135684/viewspace-626439/

分析 AIX 和 Linux 性能的免费工具。的更多相关文章

  1. Nmon 性能:分析 AIX 和 Linux 性能的免费工具

    原文摘自: http://www.ibm.com/developerworks/cn/aix/library/analyze_aix/ 官网:http://www.ibm.com/developerw ...

  2. linux ---性能监控(工具)

    linux服务器性能监控-nmon Nmon 是一个分析aix和linux性能的免费工具,出自IBM,其采集的数据通过nmon_analyser生成报表 一.下载 官网下载地址 百度网盘 二.运行和使 ...

  3. Linux 性能測试工具

    Linux 性能測试工具 linux performance 查看系统配置 查看CPU信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64- ...

  4. 转载linux性能调优工具

    Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具,各种资源应有尽有,大量干货,强烈建议收藏.

  5. Netdata安装和使用(Linux 性能实时监测工具)

    Netdata 是一款 Linux 性能实时监测工具..以web的可视化方式展示系统及应用程序的实时运行状态(包括cpu.内存.硬盘输入/输出.网络等linux性能的数据). Netdata文档地址: ...

  6. linux 性能调优工具参考 (linux performance tools)

    之前发现几张图对于linux使用者有着较强的参考意义,下面对其进行简单备忘: # linux 静态信息查看工具 # linux 性能测试工具 benchmark # linux 性能观测工具 # li ...

  7. Linux 性能优化排查工具

    下图1为 Linux 性能优化排查工具的总结 图1 诊断 CPU 工具 查看 CPU 核数 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU ...

  8. VisulaVM 性能:分析 JVM 性能的免费工具

    VisualVM是一个集成多个JDK命令行工具的可视化工具.可以作为Java应用程序性能分析和运行监控的工具.开发人员可以利用它来监控.分 析线程信息,浏览内存堆数据.系统管理员可以利用它来监测.控制 ...

  9. Linux 性能监测:工具

    一个完整运行的 Linux 系统包括很多子系统(介绍,CPU,Memory,IO,Network,-),监测和评估这些子系统是性能监测的一部分.我们往往需要宏观的看整个系统状态,也需要微观的看每个子系 ...

  10. Linux性能实时监测工具netdata安装配置

    netdata:功能强大的实时性能检测工具,展示地址. github地址:https://github.com/firehol/netdata 本文介绍在CentOS 6.7下安装netdata 1. ...

随机推荐

  1. [转]WorldWind开发中WorldWindowGLCanvas .setPreferredSize()函数找不到

    值高温假期,无意翻到了csdn中三维GIS开发的专栏,讲的是worldwind Java三维GIS系统开发的东西,十分感兴趣.恰巧要求的环境已经存在,直接耍起来.将最新的Worldwind和JOGL下 ...

  2. java第二章数组学习

    java第二章数组 数组的概念和特点 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个 名字命名,并通过编号的方式对这些数据进行统一管理. 特点 数组本身是引用数据类型,而数组中 ...

  3. SpringCloud Alibaba(一) - Nacos 服务注册与发现,OpenFeign远程调用

    1.基础项目过目介绍 1.1 数据库创建 1.2 项目模块分布 1.3 测试http接口调用 1.3.1 http接口调用配置类 //http接口调用配置类 @Configuration public ...

  4. 将github个人访问令牌与TortoiseSVN一起使用

    最近用TortoiseSVN提交到Github身份验证,总是提示无效的用户名密码,反复确认密码没输入错的.但是就是提交不了(能获取). 报错如下: 错误: No more credentials or ...

  5. ORACLE存储过程中使用游标+BULK COLLECT的应用

    经过半天的折腾,编译通过调试结果正确,掌握此过程中的知识点,oracle存储过程编写就应用到了90%. CREATE OR REPLACE PROCEDURE JUNAN.P_IPT_QUOTN_IN ...

  6. not in 和 not exists 比较和用法

    尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询).查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引:而not exists的子查询依 ...

  7. AI+算力,赋予天翼云数字人“最强大脑”!

    3月31日至4月1日,以"音视频+无限可能"为主题的LiveVideoStackCon 2022音视频技术大会(北京站)圆满举办.天翼云科技有限公司AI产品研发总监陈金出席&quo ...

  8. wsgi服务器

    wsgi服务器DRP原则:Don't repeat yourself1.wsgi接口:全称 Web Server Gateway Interface (web服务器网关接口) 请求:request 响 ...

  9. Jenkins插件:Generic Webhook Trigger

    Jenkins插件:Generic Webhook Trigger 作为一名软件测试工程师,在日常工作中,我经常需要使用Jenkins来进行持续集成和持续部署(CI/CD).而Jenkins的众多插件 ...

  10. 2025苹果春季发布会前瞻:新品迭出,Apple Intelligence国行版即将上线!

    随着2025年的到来,苹果公司的春季发布会也渐行渐近.作为科技行业的领军企业,苹果每一次的新品发布都备受瞩目.本次春季发布会,苹果预计会带来一系列令人期待的新品,同时,国行Mac用户也将迎来一个重大更 ...