nmon性能监控工具

时间:2022-09-12 10:34:50
一、nmon介绍

    nmon是IBM提供的免费在AIX与Linux操作系统上广泛使用的监控与分析工具。可收集服务器的系统资源使用情况,并将采集的信息输出成csv电子表格文件,可以利用excel分析工具nmon analyser进行统计分析。nmon占用资源非常少,一般CPU占用不会超过2%。但最好在数据采集完成后退出nmon,以减少对系统资源的占用。针对不同的操作系统版本,nmon有相应版本的程序。nmon并未受到IBM的正式支持,所以IBM不会为nmon提供任何的技术支持或帮助。
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
    本文将在CentOS6.5上安装nmon,并演示如何使用。对于AIX部分特有的功能不作演示。此手册同样适用于其他的Linux发布版本,如:RHEL、OracleLinux、Ubuntu等。

二、nmon安装

    nmon是一个打包好的独立二进制文件,将安装文件解压到任何目录即可运行。本文演示环境64位CentOS6.5为,下载对应版本:nmon_x86_64_centos6,上传到服务器即可运行。
    nmon下载地址: http://sourceforge.net/projects/nmon/files/
    
    上传完成后,将文件重命名为nmon,并修改文件权限。
    [root@node5108 opt]# chmod 775 nmon_x86_64_centos6                    //给文件赋775权限
     [root@node5108 opt]# mv nmon_x86_64_centos6 nmon                       //为方便使用,可重命名文件为nmon
    [root@node5108 opt]# ./nmon_x86_64_centos6                                      //运行nmon,为方便操作,也可将其重命名为nmon
    

三、nmon使用

    交互式模式下使用nmon,查看CPU、内存、硬盘、网络使用情况。
     CPU:输入 c 即可实时显示CPU的使用情况,再次输入 c 即不显示相关信息。
    

     内存:输入 m 即可实时显示内存的使用情况,再次输入 m 即不显示相关信息。
    

     磁盘:输入 d 即可实时显示磁盘的使用情况,再次输入 d 即不显示相关信息。
    


     网络:输入 n 即可实时显示网络的使用情况,再次输入 n 即不显示相关信息。
    

    nmon 命令以交互方式提供下列视图:(参考:http://www-01.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.cmds4/nmon.htm%23nmon__nmp-s)
  • 磁盘繁忙情况图(使用 o 键)
  • 磁盘统计信息(使用 D 键)
  • 磁盘统计信息及图形(使用 d 键)
  • JFS 视图(使用 j 键)
  • 内核统计信息(使用 k 键)
  • 长期处理器平均使用率视图(使用 l 键)
  • 大页分析(使用 L 键)
  • 内存和调页统计信息(使用 m 键)
  • NFS 面板(使用 N 键)
  • 网络接口视图(使用 n 键)
  • 进程视图(使用 t 和 u 键)
  • 处理器使用情况小视图(使用 c 键)
  • 处理器使用情况大视图(使用 C 键)
  • 共享以太网适配器统计信息(使用 O 键)
  • 共享处理器逻辑分区视图(使用 p 键)
  • 系统资源视图(使用 r 键)
  • Virtual Memory(使用 V 键)
  • 冗余检查良好/警告/危险视图(使用 v 键)
  • 退出视图(使用q键)
  • 帮助(使用h键)

四、nmon数据采集

    nmon数据采集实际上让nmon以记录式的方式运行,将信息全部写入到文件中去。生成的文件可结合 nmon  analyser分析工具进行性能分析。由于时间限制,我们以采集10分钟的数据为例来讲解。
    [root@node5108 opt]# ./nmon -f -t -r test -s 10 -c 60
    
      参数说明:
           -f            指定输出使用电子表格格式。缺省情况下,此命令会生成系统数据的 288 个快照,两次生成快照之间的时间间隔为 300 秒。输出文件的名称为 hostname_YYMMDD_HHMM  .nmon  格式。
           -r            指定写至电子表格文件的 runname 字段的值。缺省情况下,此值为 hostname。
           -t            在输出结果中包含top信息
           -s            每隔多少秒采集一次数据
           -c            数据采集次数
    运行上面的命令后,在当前目录会生成以<hostname>_yymmdd_hhmm.nmon格式命名的文件,所有采集的数集都将存放于此。等数据采集完成后,可以将.nmon的数据转化为.csv格式。然后使用nmon analyser工具将.csv转化为可视化的图表文件。
   
     通过进程,查看数据是否采集完成,如下:
    [root@node5108 opt]# ps -ef  | grep nmon
    可以看到当前系统中没有正在运行的nmon进程,则可以判断数据已采集完成。 
    
    通过以下命令将.nmon文件转换成.csv文件,如下:   
   [root@node5108 opt] # sort [原文件名].nmon > [新文件名].csv  
    
项目 描述
-c 指定此命令必须生成的快照数。缺省值为 10000000。
-d 在视图中包括磁盘服务时间部分。
-f 指定输出使用电子表格格式。缺省情况下,此命令会生成系统数据的 288 个快照,两次生成快照之间的时间间隔为 300 秒。输出文件的名称为 hostname_YYMMDD_HHMM.nmon 格式。
-F 指定输出使用电子表格格式,并且输出文件的名称为 filename。filename 参数指定输出文件的名称。
-g 使用 filename 参数指定其中包含用户定义的磁盘组的文件。文件中的每一行以组名开头。磁盘列表跟在组名之后,磁盘之间用空格隔开。该文件最多可包含 64 个磁盘组。磁盘可属于各种磁盘组。
-G 使用格林威治标准时间 (GMT) 来代替当地时间。针对处理器视图比较来自一个系统的多个 LPAR 的 nmon 文件且 LPAR 在不同时区中时,此方法很有帮助。
-I 指定命令忽略最繁忙进程统计信息时的进程阈值百分比。缺省百分比为 0。如果进程使用的处理器资源低于指定的百分比,那么该命令不会保存最繁忙进程统计信息。
-J 跳过 JFS 部分。
-k 内核信息
-l 指定每一行上要列示的磁盘数。缺省情况下,每行列示 150 个磁盘。对于 EMC 磁盘,指定值 64。
-L 包括大页分析部分。
-m 在命令将数据保存至文件之前切换目录。
-M 在记录文件中包括 MEMPAGES 部分。MEMPAGES 部分会显示对应每个页大小的详细内存统计信息。
-N 在记录文件中包括 NFS 部分。要收集 NFSv4 统计信息,请指定 -NN。
-o 指定要将已记录文件存储至的文件名或目录。
-P 在记录文件中包括调页空间部分。
-r 指定写至电子表格文件的 runname 字段的值。缺省情况下,此值为 hostname。
-s 指定两个连续的记录快照之间的时间间隔(以秒计)。
-t 在输出中包括最繁忙进程。不能同时指定 -t、-T 或 -Y 标志当中的任意两者。
-x 指定持续时间为 1 天的可感电子表格记录以用于容量规划。缺省情况下,每 900 秒完成一次记录,一共完成 96 次。此标志相当于 -ft -s 900 -c 96。
-X 指定持续时间为 1 小时的可感电子表格记录以用于容量规划。缺省情况下,每 30 秒完成一次记录,一共完成 120 次。此标志相当于 -ft -s 30 -c 120。
-z 指定持续时间为 1 天的可感电子表格记录以用于容量规划。缺省情况下,每 900 秒完成一次记录,一共完成 96 次。此标志相当于 -f -s 900 -c 96。


五、nmon analyser使用

    将.csv文件从主机上取到windows的机器上,并利用 nmon  analyser工具将进转化为图表文件。
    nmon analyser下载地址: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser 
    下载的nmon analyser工具为一个压缩包,解压得到两个文件,nmon analyser v42.xlsm为工具,NA_UserGuide v42.docx为用户指南。工具实为一个定制好的execl宏,可将nmon采集的数据转化为可视化的execl图表文件。运行nmon analyser v42.xlsm如下:
    

    加载数据文件,打个nmon analyser v42.xlsm,点击“Analyser nmon data”按钮,即可将.csv数据文件按规律转化成xlsm文件。
    

     如果加载数据后提示如下信息,请按以下步骤将execl的宏功能开启。
    
   
     开启execl宏功能(以office 2007为例),设置完成后请关闭execl然后再次打开nmon analyser v42.xlsm并加载数据。 
    
    
    

    nmon analyser生成的报表如下:
    
    
    
     生成的报表中包含系统汇总、CPU、磁盘、网络、内存等详细的使用情况,非常的直观。更多详细内容请参考 nmon analyser的用户指南。
    
六、参考文档
    1、 http://www.ibm.com/developerworks/cn/aix/library/analyze_aix/        nmon 性能:分析 AIX 和 Linux 性能的免费工具
    2、http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/index.html        nmon analyser——生成 AIX 性能报告的免费工具
    3、https://www.ibm.com/developerworks/community/wikis/home?lang=en#/wiki/Power%20Systems/page/nmon        Power Systems - nmon 
    4、http://www-01.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.cmds4/nmon.htm%23nmon__nmp-s        AIX6.1 - nmon
    5、http://wenku.baidu.com/view/20aaf29da76e58fafab003d0.html        使用NMON监控AIX操作系统手册
    6、nmon帮助文档 nmon -h