【性能测试】服务器性能监控、数据采集工具nmon安装使用详解
nmon
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。相较于其它系统资源监控工具,nmon所记录的信息比较全面。它可以对以下数据进行监控:
- cpu占用率
- 内存使用情况
- 磁盘I/O速度、传输和读写比率
- 文件系统的使用率
- 网络I/O速度、传输和读写比率、错误统计率与传输包的大小
- 消耗资源最多的进程
- 计算机详细信息和资源
- 页面空间和页面I/O速度
- 用户自定义的磁盘组
- 网络文件系统
下面我们一起来了解她的安装使用。
nmon下载
国外的源站尝试过几乎打不开,或者目录太过繁复,记录一个自己成功安装、使用nmon的经验。
我使用 的是 wget 命令:
wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz
下载页面如下:

执行 ll 命令能在当前目录看到 nmon_linux_14i.tar.gz 文件
解压安装
解压:
tar -zxvf nmon_linux_14i.tar.gz
解压后文件如下图,从图中可以看出,nmon几乎支持当前所有主流的AIX 和 Linux系统。

直接执行系统对应的脚本文件就能启动nmon,博主使用的是redhat:

启动
直接执行后可以看到如下的界面,可以通过输入不同的字符让其展示不同的数据,
如输入c可显示CPU的信息,“m”对应内存、“n”对应网络,“d”可以查看磁盘信息;“t”可以查看系统的进程信息

数据采集配置
nmon可以通过命令的形式来监控系统在一段时间内的使用情况,并将结果记录下来
nmon -f -s 10 -c
参数说明:
- -f 表示生成的数据文件名中有时间;
- -s 10 表示每 10 秒采集一次数据;
- -c 60 表示采集 60 次,10*60=600 秒
当我们执行上面的命令后,可以看到当前目录新增了一个以本主机名和当前日期为名称的“.nmon”文件。符合“<hostname>_date_time.nmon", 这个格式。
我们通过ps命令可以看到相关的nmon进程,这个进程10分钟过后会消失。当然,我们也可以直接手动kill掉。
生成图形结果
在运行结束后,我们可以吧这个“.nmon”文件导到本地。然后下载nmonanalyser,打开其中的nmonanalyser文件,并启用宏。
然后点击“Analyse nmon data”导入我们从linux下导出的“.nmon”文件,点击确定,就会自动生成图形化的excel,如下图:


以上就是nmon的简单描述与使用介绍 ~
nmon报告中的参数含义
| sheet名称 |
sheet含义 |
|
SYS_SUMM |
系统汇总,蓝线为cpu占有率变化情况,粉线为磁盘IO的变化情况; |
|
AAA |
关于操作系统以及nmon本身的一些信息; |
|
BBBB |
系统外挂存储容量以及存储类型; |
|
BBBC |
系统外挂存储位置、状态以及描述信息; |
|
BBBD |
磁盘适配器信息;(包含磁盘适配器名称以及描述) |
|
BBBE |
包含通过lsdev命令获取的系统设备及其特征,显示vpaths和hdisks之间的映射关系; |
|
BBBG |
显示磁盘组详细的映射关系; |
|
BBBL |
逻辑分区(LPAR)配置细节信息; |
|
BBBN |
网络适配器信息; |
|
BBBP |
vmtune, schedtune, emstat和lsattr命令的输出信息; |
|
CPUnn |
显示执行之间内CPU占用情况,其中包含user%、sys%、wait%和idle%; |
|
CPU_ALL |
所有CPU概述,显示所有CPU平均占用情况,其中包含SMT状态; |
|
CPU_SUMM |
每一个CPU在执行时间内的占用情况,其中包含user%、sys%、wait%和idle%; |
|
DGBUSY |
磁盘组每个hdisk设备平均占用情况; |
|
DGREAD |
每个磁盘组的平均读情况; |
|
DGSIZE |
每个磁盘组的平均读写情况(块大小); |
|
DGWRITE |
每个磁盘组的平均写情况; |
|
DGXFER |
每个磁盘组的I/O每秒操作; |
|
DISKBSIZE |
执行时间内每个hdisk的传输块大小; |
|
DISKBUSY |
每个hdisk设备平均占用情况; |
|
DISKREAD |
每个hdisk的平均读情况; |
|
DISKWRITE |
每个hdisk的平均写情况; |
|
DISKXFER |
每个hdisk的I/O每秒操作; |
|
DISKSERV |
本sheet显示在每个收集间隔中hdisk的评估服务时间(未响应时间) |
|
DISK_SUMM |
总体disk读、写以及I/O操作; |
|
EMCBSIZE/FAStBSIZE |
执行时间内EMC存储的传输块大小; |
|
EMCBUSY/FAStBUSY |
EMC存储设备平均占用情况; |
|
EMCREAD/FAStREAD |
EMC存储的平均读情况; |
|
EMCWRITE/FAStWRITE |
EMC存储的平均写情况; |
|
EMCXFER/FAStXFER |
|
|
EMCSERV/FAStSERV |
|
|
ESSBSIZE |
本sheet记录在系统中每个vpaths下读写操作的平均数据传输大小(blocksize) Kbytes |
|
ESSBUSY |
本sheet记录使用ESS系统的每个vpaths下的设备繁忙情况 |
|
ESSREAD |
本sheet记录在系统中每个vpaths下读取操作的 data rate (Kbytes/sec) |
|
ESSWRITE |
本sheet记录在系统中每个vpaths下写入操作的 data rate (Kbytes/sec) |
|
ESSXFER |
本sheet记录在系统中每个vpaths下每秒的IO操作 |
|
ESSSERV |
本sheet显示在每个收集间隔中vpaths的评估服务时间(未响应时间) |
|
FILE |
本sheet包含nmon内核内部的统计信息的一个子集,跟sar报告的值相同 |
|
FRCA |
|
|
IOADAPT |
对于BBBCsheet每个IO适配器列表,包含了数据传输速度为读取和写入操作(千字节/秒)和I / O操作执行的总数量 |
|
JFSFILE |
本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比 |
|
JFSINODE |
本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的inode百分比 |
|
LARGEPAGE |
本图表显示Usedpages和Freepages随着时间的变化 |
|
LPAR |
|
|
MEM |
本sheet主图上显示空闲实存的数量 |
|
MEMUSE |
除 %comp参数外,本sheet包含的所有项都和vmtune命令的报告中一样 |
|
MEMNEW |
本sheet显示分配的内存片信息,分三大类:用户进程使用页,文件系统缓存,系统内核使用页 |
|
NET |
本sheet显示系统中每个网络适配器的数据传输速率(千字节/秒) |
|
NETPACKET |
本sheet统计每个适配器网络读写包的数量;这个类似于netpmon –O dd 命令 |
|
NFS sheets |
|
|
PAGE |
本sheet统计相关页信息的记录 |
|
PROC |
本sheet包含nmon内核内部的统计信息。其中RunQueue和Swap-in域是使用的平均时间间隔,其他项的单位是比率/秒 |
|
PROCAIO |
本sheet包含关于可用的和active的异步IO进程数量信息. |
|
TOP |
|
|
UARG |
|
|
WLM sheets |
|
|
ZZZZ |
本sheet自动转换所有nmon的时间戳为现在真实的时间,方便更容易的分析 |
【性能测试】服务器性能监控、数据采集工具nmon安装使用详解的更多相关文章
- Zynga 开源其服务器性能监控分析工具 zPerfmon
流年不利的社交游戏服务商Zynga近日在官方博客宣布开源zPerfmon——该工具负责监控Zynga数以千计的社交游戏服务器.zPerfmon的源代码目前已经上传至Github. 包括Facebook ...
- Web性能压力测试工具之Apache AB 详解
下载安装地址: http://httpd.apache.org/download.cgi yum install httpd-tools http://www.apachelounge.com/dow ...
- jvm 性能调优工具之 jps 命令详解
JPS名称:jps - Java Virtual Machine Process Status Tool命令用法:jps [options] [hostid] options:命令选项,用来对输出格式 ...
- centos性能监控系列三:监控工具atop详解
引言 Linux以其稳定性,越来越多地被用作服务器的操作系统(当然,有人会较真地说一句:Linux只是操作系统内核:).但使用了Linux作为底层的操作系统,是否我们就能保证我们的服务做到7*24地稳 ...
- 网站性能压力测试工具--apache ab使用详解
ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等. 下面我们开始介绍 ...
- jvm 性能调优工具之 jstat 命令详解
Jstat名称:Java Virtual Machine statistics monitoring tool 官方文档:https://docs.oracle.com/javase/1.5.0/do ...
- jvm 性能调优工具之 jmap 命令详解
jmap名称:Java Memory Map(内存映射) 官方文档:https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html ...
- 性能测试学习之路 (三)jmeter常见性能指标(相关术语、聚合报告 && 服务器性能监控配置 && 图形结果 && 概要报告)
1 性能测试目的 性能测试的目的:验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件. 最后起到优化系统的目的性能测试包括如下几个方面: 1.评估系统的能力:测试 ...
- linux ---性能监控(工具)
linux服务器性能监控-nmon Nmon 是一个分析aix和linux性能的免费工具,出自IBM,其采集的数据通过nmon_analyser生成报表 一.下载 官网下载地址 百度网盘 二.运行和使 ...
随机推荐
- 分类,logistic回归
1. 使用回归进行分类 机器学习中分类是指输入一个样本点,输出这个样本点所属的类别,预测的是一个离散值,如类别(1,2). 而回归问题是输入一个样本点,预测一个值,这个值是连续值,可以介于\([1,2 ...
- django模型:为已存在的表建立模型
为已经存在的表建立模型:参考https://blog.csdn.net/opera95/article/details/78200024 为已经存在的表建立模型1.python manage.py i ...
- 如何制作一款HTML5 RPG游戏引擎——第一篇,地图类的实现
一,话说天下大事 前不久看到lufy的博客上,有一位朋友想要一个RPG游戏引擎,出于兴趣准备动手做一做.由于我研究lufylegend有一段时间了,对它有一定的依赖性,因此就准备将这个引擎基于lufy ...
- (转)理解POST和PUT的区别,顺便提下RESTful
这两个方法咋一看都可以更新资源,但是有本质区别的 具体定义可以百度,我这里就不贴了,光说我自己的理解 首先解释幂等,幂等是数学的一个用语,对于单个输入或者无输入的运算方法,如果每次都是同样的结果,则称 ...
- Linux登录欢迎图案
命令提示符设置: export PS1='\n\[\e[37;1m[\]\[\e[31;1m\]\u\[\e[39;1m\]@\[\e[33;1m\]\H \[\e[34;1m\]\w\[\e[37; ...
- 聚类之k-means
1.介绍 k-means算法以k为参数(所期望的簇的个数),把n个对象分成k个簇(单层划分),用质心(数据点的平均值)定义簇的原型.使得簇内具有较高的相似度,而簇间的相似度较低. 通过聚类,我们能够发 ...
- Linux系统常用命令示例
1.在跟下创建一个目录,目录的名字为data # mkdir /data2.在data目录里创建一个文件,文件名为yunjisuan.txt # touch /data/yunjisuan.txt3. ...
- 启动secondarynamenode时报错
环境: mac系统 + hadoop2.6.0-cdh5.7.0伪分布式 问题一: 在启动hdfs的secondarynamenode时,报错. 正常情况: sumengdeMacBook-Pro: ...
- 什么是Socket?简单点,通俗易懂的?
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装 ...
- Spring MVC 复习笔记02
1. 非注解的处理器映射器和适配器 1.1 非注解的处理器映射器 处理器映射器:org.springframework.web.servlet.handler.BeanNameUrlHandlerMa ...