【性能测试】性能数据采集工具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命令是一个用于导出数据库数据和对象的…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...