nmon--系统监控工具,对linux服务器的监控

大家都知道在做性能测试的时候,需要监控服务器的资源情况,而大多数服务器是Linux系统,网上资料很多,这里汇总介绍下Nmon监控工具:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一,Nmon介绍

(这句不用看——Nmon得名于 Nigel 的监控器,是IBM的员工 Nigel Griffiths 为 AIX 和 Linux 系统开发的,使用 Nmon 可以很轻松的监控系统的 CPU、内存、网络、硬盘、文件系统、NFS、高耗进程、资源和 IBM Power 系统的微分区的信息)。

Nmon是一款计算机性能系统监控工具,因为它免费,体积小,安装简单,耗费资源低,广泛应用于AIX和Linux系统。

二,Nmon下载

首先查看Linux系统内核版本(两种方式):

1,cat /proc/version 

[qgc@localhost nmon16d]$ cat /proc/version
Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013

2,uname -a

[qgc@localhost nmon16d]$ uname -a
Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

对照上图,我是VMware虚拟机安装的64位centos6.5。

接着下载nmon软件包:

1,wget方式下载,地址:  https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz

复制代码
[qgc@localhost nmon16d]$ wget https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz
--2018-08-27 11:26:11-- https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz Resolving nchc.dl.sourceforge.net... 211.79.60.17, 2001:e10:ffff:1f02::17 Connecting to nchc.dl.sourceforge.net|211.79.60.17|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 9252938 (8.8M) [application/x-gzip] Saving to: “nmon16d_x86.tar.gz”

100%[===========================================================>] 9,252,938 1.77M/s in 5.0s

2018-08-27 11:26:17 (1.77 MB/s) - “nmon16d_x86.tar.gz” saved [9252938/9252938]

[qgc@localhost nmon16d]$ ls
nmon16d_x86.tar.gz

复制代码

2,官网手动下载,地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Downlo ,翻译了下,如下图

因为CentOS就是 RedHat 的免费版本(上面内核版本 2.6.32-431.el6.x86_64),所以对应系统是RHEL 6.5,选择右边包含RedHat 6.5的下载。

 三,解压安装

下载完成后,可以新建一个目录,作为解压后存放的目录,这里为nmon16d,如果是手工下载的,需要拷贝到虚拟机。

[qgc@localhost Desktop]$ mkdir nmon16d

输入解压命令:tar -zxvf nmon16d_x86.tar.gz -C nmon16d ,-C 是指定解压目录

复制代码
[qgc@localhost Desktop]$ tar -zxvf nmon16d_x86.tar.gz  -C nmon16d
nmon_power_32_linux
nmon_power_32_rhel6
nmon_power_32_sles11
nmon_power_64_kvm2
nmon_power_64_linux
...
复制代码

在nmon6d目录中,可以找到nmon_x86_64_centos6这个文件,并对它添加执行权限

[qgc@localhost nmon16d]$ chmod +x nmon_x86_64_centos6

再把该程序文件加入环境变量运行目录,如果不是管理员,需要加上sudo命令

[qgc@localhost nmon16d]$ mv nmon_x86_64_centos6 /usr/local/bin/nmon
mv: cannot move `nmon_x86_64_centos6' to `/usr/local/bin/nmon': Permission denied
[qgc@localhost nmon16d]$ sudo mv nmon_x86_64_centos6 /usr/local/bin/nmon
[sudo] password for qgc: 
[qgc@localhost nmon16d]$ 

四,运行Nmon

输入nmon命令启动Nmon,如下图

在上面的交互式窗口中,可以使用nmon 快捷键来显示不同的系统资源统计数据:

  • q : 停止并退出 Nmon
  • h : 查看帮助
  • c : 查看 CPU 统计数据
  • m : 查看内存统计数据
  • d : 查看硬盘统计数据
  • k : 查看内核统计数据
  • n : 查看网络统计数据
  • N : 查看 NFS 统计数据
  • j : 查看文件系统统计数据
  • t : 查看高耗进程
  • V : 查看虚拟内存统计数据
  • v : 详细模式

按下c,m,d后如下图,CPU、内存、磁盘的消耗情况都直观的展现出来了,按q键可以退出。

五,数据采集

性能测试时,需要根据测试场景的执行情况,分析一段时间内系统资源的变化,这时需要nmon采集数据并保存下来,以下是常用的参数:

      -f 参数:生成文件,文件名=主机名+当前时间.nmon

     -T 参数:显示资源占有率较高的进程

     -s 参数:-s 10表示每隔10秒采集一次数据

     -c 参数:-s 10表示总共采集十次数据

     -m 参数:指定文件保存目录

具体的参数学习可参考博客:https://www.cnblogs.com/iclk/p/4456311.html

如每隔5秒采集一次,一共采集12次,就是1分钟的数据(生成的文件已标红):(下文命令行中的“/home/qgc/Desktop/”代表生成文件存储位置,根据实际需要可进行调整)

[qgc@localhost nmon16d]$ nmon -f -s 5 -c 12 -m /home/qgc/Desktop/
[qgc@localhost nmon16d]$ nmon -f -T -s 5 -c 12 -m /home/qgc/Desktop/
[qgc@localhost Desktop]$ ls
lmon16g.c                   localhost_180827_2318.nmon  nmon16d_x86.tar.gz
localhost_180827_2317.nmon  nmon16d                     Test

数据采集完毕后,如需关闭nmon进程,需要获取nmon的pid(已标红)

[qgc@localhost Desktop]$ ps -ef | grep nmon
qgc        4455(pid)   4349(ppid)  0 23:40 pts/0    00:00:00 nmon
qgc        4491   4429  0 23:40 pts/1    00:00:00 grep nmon

再安全杀掉该进程:kill -9 pid

[qgc@localhost Desktop]$ kill -9 4455
[qgc@localhost Desktop]$ ps -ef | grep nmon
qgc        4493   4429  0 23:40 pts/1    00:00:00 grep nmon

六,数据分析

1,下载nmon analyser

借助nmon analyser可以把nmon采集的数据生成直观的Excel表,nmon analyser可以在IBM的官网下载,https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

 

在windows上下载后解压,有word和exce两个文档,Word是说明文档,包括更新日志,详细参数等,其中的Excel就是nmon analyser工具了。

2,打开nmon analyser

双击打开nmon analyser v54.xlsm,点击Analyze nmon data按钮:

 注:因为我用的个人免费版WPS(10.1),没有包含宏,需要安装宏插件(VBA for WPS),Excel是自带宏插件的,如果宏不能运行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。

 3,下载VBA for WPS

地址:https://pan.baidu.com/s/1QzW4ebQxYQtxgVfkTmxVJw,下载VBA7.0.1590_For WPS(中文).exe后,先退出WPS,再直接安装就行,再次打开nmon analyser,启用宏

4,使用nmon analyser生成图表

成功打开nmon analyser后,点击Analyze nmon data按钮,选择nmon数据文件,会再次提示另存为,选择地址保存即可。 

 

 下图就是nmon生成的数据报告截图,底部可以切换其他资源信息。

 

 

七,nmon analyser表字段分析(关键指标)

关键指标类型

指标类型含义
关键指标名称

关键指标含义

SYS_SUMM

系统资源汇总

CPU%

cpu占有率变化情况;

IO/sec

IO的变化情况;

AAA

关于操作系统以及nmon本身的一些信息

AIX

AIX版本号;

cpus

CPU数量;

hardware

被测主机处理器技术;

host

被测主机名;

interval

监控取样间隔;(秒)

kernel

被测主机内核信息;

CPU_ALL

所有CPU占用情况

User%

显示在用户模式下执行的程序所使用的 CPU 百分比;

Sys%

显示在内核模式下执行的程序所使用的 CPU 百分比;

Wait%

显示等待 IO 所花的时间百分比;

Idle%

显示 CPU 的空闲时间百分比;

CPU%

CPU总体占用情况;

DISKBUSY

每个hdisk设备平均占用情况

Disk %Busy Hostname

执行间隔时间列表;

hdisknn

每个磁盘执行采样数据;(磁盘设备的占用百分比)

DISK_SUMM

CPU读写情况

Disk total kb/s Hostname

执行间隔时间列表;

Disk Read kb/s

每个磁盘执行采样数据;(磁盘设备的读速率)

Disk Write kb/s

每个磁盘执行采样数据;(磁盘设备的写速率)

IO/sec

每秒钟输出到物理磁盘的传输次数;

NET

read/write

本sheet显示系统中每个网络适配器的数据传输速率(千字节/秒)

JFSFILE

JFS Filespace %Used Hostname

执行间隔时间列表;

file system/LV

文件系统以及mount磁盘设备已使用空间百分比;

JFSINODE

JFS Inode %Used Hostname

执行间隔时间列表;

file system/LV

文件系统以及mount磁盘设备的inode已使用空间百分比;

MEM

Memory Hostname

执行间隔时间列表;

Real Free %

实际剩余内存百分比;

Virtual free %

虚拟剩余内存百分比;

Real free(MB)

实际剩余内存大小;(MB)

Virtual free(MB)

虚拟剩余内存大小;(MB)

Real total(MB)

实际内存总体大小;(MB)

Virtual total(MB)

虚拟内存总体大小;(MB)

PAGE

faults

每秒的page faults(页错误)数;

pgin

每秒钟所读入的页数,包括从文件系统读取的页数

pgout

每秒钟所写出的页数,包括写到文件系统的页数

pgsin

每秒钟从页面空间所读取的页数

pgsout

每秒钟写到页面空间的页数

reclaims

从nmon回收这项之前的10个,和vmstat报告的值是一样的,代表了页替换机制释放的pages/sec的数量

scans

扫描页替换机制的pages/sec的数量,和vmstat报告的值是一样的,页替换在空闲页数量到达最小值时初始化,在空闲到达最大值时停止

cycles

周期 times/sec的数值,页替换机制需要扫描整个页表,来补充空闲列表。这和vmstat报告的cy数值一样,只是vmstat报告的这个值是整形值,而nmon报告的是实型值

fsin

分析器计算的数据为pgin-pgsin的图形处理所用

fsout

分析器计算的数据为pgout-pgsout的图形处理所用

sr/fr

分析器计算的数据为scans/reclaims的图形处理所用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值