【性能测试】性能数据采集工具nmon安装使用及报告参数含义详解
目录
nmon
nmon下载
解压安装
启动
数据采集配置
生成图形结果
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 60
参数说明:
- -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的时间戳为现在真实的时间,方便更容易的分析 |
文中可能存在描述不正确,欢迎大神们指正补充!
资料获取方法
【留言777】


各位想获取源码等教程资料的朋友请点赞 + 评论 + 收藏,三连!
三连之后我会在评论区挨个私信发给你们~
相关文章:
【性能测试】性能数据采集工具nmon安装使用及报告参数含义详解
目录 nmon nmon下载 解压安装 启动 数据采集配置 生成图形结果 nmon报告中的参数含义 资料获取方法 nmon nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文…...
『PostgreSQL』在 PostgreSQL中创建只读权限和读写权限的账号
📣读完这篇文章里你能收获到 理解在 PostgreSQL 数据库中创建账号的重要性以及如何进行账号管理掌握在 PostgreSQL 中创建具有只读权限和读写权限的账号的步骤和方法学会使用 SQL 命令来创建账号、为账号分配适当的权限以及控制账号对数据库的访问级别了解如何确保…...
基于Java+SpringBoot+Vue的网上书城管理系统设计与实现(源码+LW+部署文档等)
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...
安全渗透——AWK知识整理
1.awk的定义 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行…...
计算机视觉的应用9-视觉领域中的61个经典数据集【大集合】的应用与实战
大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用9-视觉领域中的61个经典数据集【大集合】的应用与实战,我们都知道计算机视觉是一门研究如何使计算机能够理解和解释数字图像或视频的技术和方法。在计算机视觉领域中,数据集是非常重要的资源,它们可以用于训练和评估…...
Go中for循环的遮挡效应
注意:遮挡不是替换 在一个for循环中,如果我们在循环体内部声明了一个与初始化语句中的变量同名的变量,那么这个新变量会“遮挡”外部的同名变量。但这种遮挡只在声明它的那一行代码开始,直到循环体结束的范围内有效。当下一次循环…...
UE4 Cesium 学习笔记
Cesium中CesiumGeoreference的原点Orgin,设置到新的位置上过后,将FloatingPawn的Translation全改为0,才能到对应的目标点上去 在该位置可以修改整体建筑的材质 防止刚运行的时候,人物就掉下场景之下,controller控制的…...
【LeetCode】322.零钱兑换
题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的…...
中电金信:国际结算系统的“王冠”,为什么十年都戴在“它”的头上
2001年,中国正式加入WTO,在此后的二十多年里,中国出口席卷全球,迅速成长为一个贸易大国。 作为跨国贸易不可或缺的一环,无论是商品交易、服务提供、资金分配还是国际借贷等,都需要通过银行办理的外汇收支业…...
java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis em
鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内…...
fine-tuning(微调)的理解
fine-tuning 介绍 什么情况下使用微调 微调指导事项 不同数据集下使用微调 涉及到的其他知识 学习率(learning-rate) 卷积神经网络的核心 迁移学习与微调 什么是迁移学习 为什么要迁移学习 详细解释 自己的理解(不知道对不对) 介绍…...
深入理解设计模式面经
1 讲讲工厂方法模式, 1.1 给我一个java的demo 工厂方法模式是一种创建型设计模式,它提供了一个接口用于创建对象,但允许子类修改将要创建的对象类型。这种模式抽象了对象的创建过程,使得代码可以在不知道创建的对象具体类的情况…...
STM32单片机蓝牙APP宠物自动喂食器定时语音提醒喂食系统设计
实践制作DIY- GC00162---蓝牙APP宠物自动喂食器 一、功能说明: 基于STM32单片机设计---蓝牙APP宠物自动喂食器 二、功能说明: STM32F103C系列最小系统板LCD1602显示器DS1302时钟模块5个按键语音播报模块ULN2003步进电机模块LED灯板HC-05蓝牙模块&#x…...
武汉凯迪正大—串联谐振在电力系统中应用的优点:
变频串联谐振耐压试验装置在电力系统中应用的优点 1、所需电源容量大大减小。串联谐振电源是利用谐振电抗器和被试品电容谐振产生高电压和大电流的,在整个系统中,电源只需要提供系统中有功消耗的部分,因此,试验所需的电源功率只有…...
Git仓库、分支的区别
https://blog.csdn.net/weixin_30315905/article/details/94954617 git 仓库、分支的区别 首先,要明白仓库的概念 仓库可以理解为repository, 就是存放代码的地方,—— 其实是一个比较笼统的概念,不管里面的内容,总之…...
C#生成随机验证码
以下是一个简单的C#验证码示例: private void GenerateCaptcha() {// 生成随机字符串string chars "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";Random random new Random();string captchaString new string(Enumerable.Repe…...
如何使用C++来找出编码88表示的字符?指出至少两种方法。
在C中,可以使用整型值来表示字符编码,其中ASCII码是最常见的字符编码方案。要找出编码为88的字符,可以使用以下两种方法: 方法一:使用类型转换(显式类型转换或隐式类型转换)将整型值转换为字符…...
Kafka:springboot集成kafka收发消息
kafka环境搭建参考Kafka:安装和配置_moreCalm的博客-CSDN博客 1、springboot中引入kafka依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><…...
本质矩阵E、基本矩阵F、单应矩阵H
1. E (归一化坐标对进行计算) t ^ R 为3*3的矩阵, 因为R,t共有6个自由度,又因为单目尺度等价性,所以实际上E矩阵共有5个自由度。因此至少需要5个点对来求解。 2. 基本矩阵F:根据两帧间匹配的像素点对儿计算 3*3且自由度为7的矩阵kF也为基础矩阵&#x…...
Oracle database Linux自建环境备份至远端服务器自定义保留天数
环境准备 linux下安装oracle 请看 oracle12c单节点部署 系统版本: CentOS 7 软件版本: Oracle12c 备份策略与实现方法 此次备份依赖Oracle自带命令exp与linux下crontab命令(定时任务) exp Oracle中exp命令是一个用于导出数据库数据和对象的…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
