分析工具


分析 AIX 和 Linux 性能的免费工具,


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


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


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


性能介绍


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 文件的新工具。


运行环境



* AIX® 4.1.5、4.2.0、4.3.2 和 4.3.3(nmon Version 9a:该版本的功能已经确定,并且不会对其进行进一步的开发。)


* AIX 5.1、5.2 和 5.3(nmon Version 10:该版本现在支持 AIX 5.3 和基于 POWER5™ 处理器的计算机,并且提供了 SMT 和共享 CPU 微分区的支持。)


* pSeries® p5 和 OpenPower™ 上的 Linux™ SUSE SLES 9、Red Hat EL 3 和 4、Debian


* Linux SUSE、Red Hat 和许多最新的 x86(32 位模式的 Intel 和 AMD)上的发布版


* zSeries® 或 mainframe 上的 Linux SUSE 和 Red Hat


安装



该工具是一个独立的二进制文件(不同的 AIX 或 Linux 版本中该文件也有所不同),您可以在五秒钟内完成该工具的安装,如果您的输入速度更快的话,也许时间更短。安装过程非常简单:


* 将 nmonXXX.tar.Z 文件复制到计算机。如果使用 FTP,请记住使用二进制模式。


注意:示例中的 XXX 由实际的版本代替。


* 要解压该文件,可以运行 uncompress nmonXX.tar.Z。


* 要提取该文件,可以运行 tar xvf nmonXX.tar。


* 阅读自述文件。


* 要启动 nmon 工具,输入 nmon。


* 如果您是 root 用户,可能需要输入 ./nmon。


 


 


 


一.下载nmon。


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

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

wget ​​http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip/download​

二.初始化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

根据不同的平台,初始化对应平台的nmon工具:

chmod +x nmon_x86_ubuntu810

mv nmon_x86_ubuntu810 /usr/local/bin/nmon

对于 Debian 还要做以下操作(不做也同样能运行):

apt-get install lsb-release

lsb_release -d | sed 's/Description:\t//' > /etc/debian_release

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

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

./nmon_x86_64_rhel6 -f -t -m /root/duanxz/ -s 10 -c 90


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


三.生成nmon报告。


1).采集数据:

#nmon -s10 -c60 -f -m /home/

参数解释:

-s10 每 10 秒采集一次数据。

-c60 采集 60 次,即为采集十分钟的数据。

-f 生成的数据文件名中包含文件创建的时间。

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

这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。

生成的文件名如: <hostname>_090824_1306.nmon ,"<hostname>" 是这台主机的主机名。

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


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).自动按天采集数据:

在 crontab 中增加一条记录:

0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1

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