http://down.51cto.com/data/849411
作用
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使用情况