分析 AIX 和 Linux 性能工具nmon

附上实验所需软件下载地址:

http://down.51cto.com/data/849411


作用

       监控,在检查系统问题或优化系统性能工作上是一个不可缺少的部分。通过操作系统监控工具监视操作系统资源的使用情况,间接地反映了各服务器程序的运行情况。根据运行结果分析可以帮助我们快速定位系统问题范围或者性能瓶颈点。
       nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。
       nmon所记录的数据包含以下一些方面(也是我们在寻找问题过程中所关注的资源点):
cpu占用率
内存使用情况
磁盘I/O速度、传输和读写比率
文件系统的使用率
网络I/O速度、传输和读写比率、错误统计率与传输包的大小
消耗资源最多的进程
计算机详细信息和资源
页面空间和页面I/O速度
用户自定义的磁盘组
网络文件系统
   另外在AIX操作系统上,nmon还能监控到其他的一些信息,如异步I/O等。
下载地址:
http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon
1、安装过程
[root@node1 src]# mkdir /usr/local/nmon
[root@node1 src]# tar xf nmon_linux_14g.tar.gz -C /usr/local/nmon
[root@node1 src]# cd /usr/local/nmon
[root@node1 nmon]# chmod 755 *


我下载的是整个包,其中就包括了各种各样的系统下的nmon,我的系统是RHEL6_X64所以选择对应的nmon_linux_x86_64
[root@node1 nmon]# ./nmon_linux_x86_64


2、nmon详细介绍

新特性 描述
启动 目前还有一个称为 "nmon" 的小型 Shell 脚本,可以用来启动适当的 nmon 版本。将该脚本和 nmon 二进制文件放入到您的 $PATH 中,然后输入:nmon。该版本目前仅在 32 位模式下进行了编译。所以,它可以运行于 32 位和 64 位硬件。这是为了使它更容易安装和运行。
N = NFS 对于 nmon 10 来说,NFS 是全新的特性。
p = 分区 (Partitions) 该特性是为了共享 CPU 分区信息,这是 p5/AIX5.3 的重要特性
C = CPU 这是为了支持使用 32 个以上 CPU 的计算机,最多可以根据需要达到 128 个逻辑 CPU。
c = CPU 如果您在 POWER5 上使用 AIX 5.3,并且处于共享 CPU 环境中,那么该特性可以提供关于物理 CPU 使用的详细信息。
S = 子类 (Subclass) 该特性根据要求表示 WLM 的子类。
a = 磁盘适配器 (Disk adapters) 提供磁盘适配器的详细信息,比如它们的完整类型。
r = 资源 (Resources) 其中包括以 MHz 为单位的 CPU 速度。
k = 内核 (Kernel) 提供了一些新的字段。
L = 大型页面 (Large pages) 提供了大型页面的状态信息,适用于追求高性能的用户。
D = 磁盘 (Disk) 提供关于磁盘、磁盘类型大小、可用空间、卷组、适配器等更详细的信息。
n = 网络 (Network) 提供关于网络适配器、MTU 和相关错误的详细信息。
m = 内存 (Memory) 提供内存使用的更详细的信息,如系统(内核)和进程、活动虚拟内存。
-B 这是移除封装的启动选项。


3、数据采集

       为了实时监控系统在一段时间内的使用情况并将结果记录下来,我们可以通过运行以下命令实现。


上面介绍的只是在服务器监控,我们真正需要的是如何收集这些数据并处理分析它们。nmon提供了一个nmon_analyser的分析工具,可以利用Excel进行统计结果分析。在测试的时候,可以使用下列命令进行数据的输出:

#./nmon_x86_rhel52 -fT -s 5 -c 5


命令的含义是,-f输出文件,-T输出最耗自愿的进程,-s收集数据的时间间隔,-c收集次数。比如,测试场景需要执行20分钟,那么需要每隔10秒监控Linux系统资源就可以写成:


#./nmon_x86_rhel52 -fT -s 10 -c 120


完成后会在当前目录生成一个.nmon的文件,如下:

node1_130625_0824.nmon


nmon输出文件的命名方式是:服务器名_日期时间.nmon,我们在测试结束后,可以到当前目录下提取这些文件。


如果想在后台运行nmon,则可用:

#nohup ./nmon_x86_rhel52 -fT -s 10 -c 120

命令在后台启动相关的进程运行nmon工具。


如果想结束该进程,可使用:

#ps -eaf|grep *nmon*


命令查出该进程ID,然后使用:

#kill -9 进程ID   命令杀掉进程即可。


4、分析数据

利用nmon工具收集到系统资源的相关数据后,就可以使用nmon工具的配套软件nmon analyser进行数据分析了。这个工具使用非常简单,分析时只需要打开相应的.nmon文件即可(需要将生成的.nmon文件拷贝到windows平台下)

打开nmon analysis,如图:



如果宏不能运行,需要做以下操作:

工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。


自动按天采集数据:

在 crontab 中增加一条记录:

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


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


分析结果如下:

磁盘读写IO


内存使用情况

网络流量


CPU使用情况

你可能感兴趣的:(监控,nmon)