部分摘自网络
一、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@node1 opt]# chmod 775 nmon_x86_64_centos6 ? ? ? ? ? ? ? ? ? ?//给文件赋775权限
[root@node1 opt]# mv?nmon_x86_64_centos6 nmon ? ? ? ? ? ? ? ? ? ? ? //为方便使用,可重命名文件为nmon
[root@node1 opt]# ./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@node1 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@node1 opt]# ps -ef ?| grep nmon
可以看到当前系统中没有正在运行的nmon进程,则可以判断数据已采集完成。
通过以下命令将.nmon文件转换成.csv文件,如下:
[root@node1 opt]# sort node1_151105_0736.nmon > node1_151105_0736.csv
记录方式中的参数:
(参考:http://www-01.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.cmds4/nmon.htm%23nmon__nmp-s)
| 项目 |
描述 |
| -A |
在视图中包括异步 I/O 部分。 |
| -c |
指定此命令必须生成的快照数。缺省值为 10000000。 |
| -d |
在视图中包括磁盘服务时间部分。 |
| -D |
跳过磁盘配置部分。 |
| -E |
跳过 ESS 配置部分。 |
| -f |
指定输出使用电子表格格式。缺省情况下,此命令会生成系统数据的 288 个快照,两次生成快照之间的时间间隔为 300 秒。输出文件的名称为?hostname_YYMMDD_HHMM.nmon?格式。 |
| -F |
指定输出使用电子表格格式,并且输出文件的名称为?filename。filename?参数指定输出文件的名称。 |
| -g |
使用?filename?参数指定其中包含用户定义的磁盘组的文件。文件中的每一行以组名开头。磁盘列表跟在组名之后,磁盘之间用空格隔开。该文件最多可包含 64 个磁盘组。磁盘可属于各种磁盘组。 |
| -G |
使用格林威治标准时间 (GMT) 来代替当地时间。针对处理器视图比较来自一个系统的多个?LPAR?的?nmon?文件且?LPAR?在不同时区中时,此方法很有帮助。 |
| ?-i |
?报告线程级别统计信息。 |
| -I |
指定命令忽略最繁忙进程统计信息时的进程阈值百分比。缺省百分比为 0。如果进程使用的处理器资源低于指定的百分比,那么该命令不会保存最繁忙进程统计信息。 |
| -J |
跳过 JFS 部分。 |
| -k |
指定要记录的磁盘的列表。 |
| -K |
在记录文件中包括 RAW 内核部分和LPAR部分。-K?标志会转储对应数据结构的原始数字。内存转储是可读的,并且可在命令记录数据时使用。 |
| -l |
指定每一行上要列示的磁盘数。缺省情况下,每行列示 150 个磁盘。对于 EMC 磁盘,指定值 64。 |
| -L |
包括大页分析部分。 |
| -m |
在命令将数据保存至文件之前切换目录。 |
| -M |
在记录文件中包括 MEMPAGES 部分。MEMPAGES 部分会显示对应每个页大小的详细内存统计信息。 |
| -N |
在记录文件中包括 NFS 部分。要收集 NFSv4 统计信息,请指定?-NN。 |
| -o |
指定要将已记录文件存储至的文件名或目录。 |
| -O |
在记录文件中包括共享以太网适配器 (SEA) VIOS 部分。 |
| -P |
在记录文件中包括调页空间部分。 |
| -r |
指定写至电子表格文件的?runname?字段的值。缺省情况下,此值为 hostname。 |
| -s |
指定两个连续的记录快照之间的时间间隔(以秒计)。 |
| -S |
在记录文件中包括 WLM 部分以及子类。 |
| -t |
在输出中包括最繁忙进程。不能同时指定?-t、-T?或?-Y?标志当中的任意两者。 |
| -T |
在输出中包括最繁忙进程,并将这些命令行参数保存至 UARG 部分。不能同时指定?-t、-T?或?-Y?标志当中的任意两者。 |
| -V |
包括磁盘卷组部分。 |
| -w |
指定要记录的时间戳记的大小 (Tnnnn)。时间戳记记录在?.csv?文件中。number?参数的值的范围是 4 到 16。对于 NMON 分析器,请使用值 4 或 8。 |
| -W |
在记录文件中包括 WLM 部分。 |
| -x |
指定持续时间为 1 天的可感电子表格记录以用于容量规划。缺省情况下,每 900 秒完成一次记录,一共完成 96 次。此标志相当于?-ft -s 900 -c 96。 |
| -X |
指定持续时间为 1 小时的可感电子表格记录以用于容量规划。缺省情况下,每 30 秒完成一次记录,一共完成 120 次。此标志相当于?-ft -s 30 -c 120。 |
| ?-y |
·???????? sub=sea?记录 SEA 桥接适配器统计信息。
·???????? sub=ssp?记录共享存储池 (SSP) 统计信息。 |
| -Y |
在记录中包括最繁忙进程以及添加和记录的同名命令。不能同时指定?-t、-T?或?-Y?标志。 |
| -z |
指定持续时间为 1 天的可感电子表格记录以用于容量规划。缺省情况下,每 900 秒完成一次记录,一共完成 96 次。此标志相当于?-f -s 900 -c 96。 |
| -Z |
指定正在运行的?nmon?命令的优先级。值为 -20 时表示重要。值为 20 时表示不重要。只有 root 用户才能指定负值。 |
| -^ |
包括光纤通道 (FC) 部分。 |
参数
| 项目 |
描述 |
| disklist |
指定磁盘列表。 |
| dir |
指定目录。 |
| dpl |
指定每行上要列示的磁盘数。 |
| filename |
指定包含所选磁盘组的文件。 |
| number |
指定刷新次数。 |
| count |
指定记录次数。 |
| percent |
指定处理器使用资源的百分比。 |
| priority |
指定要运行的进程的优先级。 |
| runname |
指定要运行的电子表格文件中的?runname?字段的值。 |
| seconds |
指定刷新快照的时间间隔(以秒计)。 |
| outputpath |
指定输出文件的路径。 |
六、nmon?analyser使用
下载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”按钮,即可将下载到windows的 .csv数据文件按规律转化成xlsm文件。
备注: 本机office版本为 office 2010。打开csv文件后会提示是否打开宏。点击启用即可。
点击确认。
nmon?analyser生成的报表如下:
![]()
生成的报表中包含系统汇总、CPU、磁盘、网络、内存等详细的使用情况,非常的直观。更多详细内容请参考?nmon analyser的用户指南。
七、参考文档
http://www.ibm.com/developerworks/cn/aix/library/nmon_analyser/index.html ? ? ? ?nmon analyser——生成 AIX 性能报告的免费工具