一、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,并修改文件权限。
[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
记录方式中的参数:(参考:http://www-01.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.cmds4/nmon.htm%23nmon__nmp-s )
项目 | 描述 |
-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