【性能测试】性能数据采集工具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】

各位想获取源码等教程资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/22693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言——求n之内的素数和

//求n之内的素数和 //列如&#xff1a;2、3、5等 #include<stdio.h> #include<math.h> int main() {int i,j,k,n0;scanf("%d",&n);for(i2;i<n;i){k(int)sqrt(i);for(j2;j<k;j)if(i%j0)break;if(j>k){printf("%d,",i);n;if(n%50)p…

《每天5分钟玩转kubernetes》读书笔记

笔记 概念 Pod是脆弱的&#xff0c;但应用是健壮的。 kubelet运行在Cluster所有节点上&#xff0c;负责启动Pod和容器。kubeadm用于初始化Cluster。kubectl是k8s命令行工具。通过kubectl可以部署和管理应用&#xff0c;查看各种资源&#xff0c;创建、删除和更新各种组件。 …

Python(六十六)字典生成式

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

VX-API-Gateway开源网关技术的使用记录

VX-API-Gateway开源网关技术的使用记录 官网地址 https://mirren.gitee.io/vx-api-gateway-doc/ VX-API-Gateway(以下称为VX-API)是基于Vert.x (java)开发的 API网关, 是一个分布式、全异步、高性能、可扩展、轻量级的可视化配置的API网关服务官网下载程序zip包 访问 https:/…

【100天精通python】Day26:文件和IO操作_文件指针的定位与移动,序列化与反序列化

目录 专栏导读 1 文件的基本操作 1.1 参考 1.2 获取文件属性&#xff1a; 2 定位和移动文件指针 3 序列化和反序列化 3.1 序列化与反序列化概述 3.2JSON序列化与反序列化 JSON序列化&#xff1a; JSON反序列化&#xff1a; 3.3 pickle 序列化与反序列化 pickle 序列…

【前端】鼠标事件计算与圆心形成的角度

在业务需求中&#xff0c;常常出现一些我们无法完成的效果图&#xff0c;这时需要UI切图给我们&#xff0c;而切图后不可避免的一些点击事件无法方便的监听 如该图圆环&#xff0c;其实是一张单独的图片&#xff0c;这种情况下只能通过js判断用户点击、拖动的鼠标位置&#xf…

carla中lka实现(一)

前言&#xff1a; 对于之前项目中工作内容进行总结&#xff0c;使用Carla中的车辆进行lka算法调试&#xff0c;整体技术路线&#xff1a; ①在Carla中生成车辆&#xff0c;并在车辆上搭载camera&#xff0c;通过camera采集图像数据&#xff1b; ②使用图像处理lka算法&#…

Docker-Compose编排与部署(lnmp实例)

第四阶段 时 间&#xff1a;2023年8月3日 参加人&#xff1a;全班人员 内 容&#xff1a; Docker-Compose编排与部署 目录 一、Docker Compose &#xff08;一&#xff09;概述 &#xff08;二&#xff09;Compose适用于所有环境&#xff1a; &#xff08;三&#xf…

Docker实战-操作Docker容器实战(二)

导语   上篇分享中,我们介绍了关于如何创建容器、如何启动容器、如何停止容器。这篇我们来分享一下如何操作容器。 如何进入容器 可以通过使用-d参数启动容器后会进入后台运行,用户无法查看容器中的信息,无法对容器中的信息进行操作。 这个时候如果我们需要进入容器对容器…

人脸识别场景下Faiss大规模向量检测性能测试评估分析

在前面的两篇博文中&#xff0c;主要是考虑基于之前以往的人脸识别项目经历结合最近使用到的faiss来构建更加高效的检索系统&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《基于facenetfaiss开发构建人脸识别系统》 Facenet算法的优点&#xff1a;高准确率&#…

HTTP隧道识别与防御:机器学习的解决方案

随着互联网的快速发展&#xff0c;HTTP代理爬虫已成为数据采集的重要工具。然而&#xff0c;随之而来的是恶意爬虫对网络安全和数据隐私的威胁。为了更好地保护网络环境和用户数据&#xff0c;我们进行了基于机器学习的HTTP代理爬虫识别与防御的研究。以增强对HTTP代理爬虫的识…

springboot+vue网红酒店客房预定系统的设计与实现_ui9bt

随着计算机技术发展&#xff0c;计算机系统的应用已延伸到社会的各个领域&#xff0c;大量基于网络的广泛应用给生活带来了十分的便利。所以把网红酒店预定管理与现在网络相结合&#xff0c;利用计算机搭建网红酒店预定系统&#xff0c;实现网红酒店预定的信息化。则对于进一步…

DBeaver安装+连接使用mysql

1、下载Dbeaver 官网&#xff1a;Download | DBeaver Community github&#xff1a;Releases dbeaver/dbeaver (github.com) 这里是在github下载的&#xff0c;下的是23.1.3版本 &#xff08;根据系统自己选择&#xff0c;这里下的是windows的版本&#xff09; 2、安装 3、…

单元测试之 - Review一个微服务的单元测试

这里以github上一个microservice的demo代码为例&#xff0c;来看看如何为一个完整的服务编写单元测试。具体代码如下所示&#xff0c;我们重点查看一下catalog和customer&#xff0c;order中的单元测试有哪些。 首先来看catalog服务的单元测试,这个服务下面主要编写了CatalogWe…

物联网|按键实验---学习I/O的输入及中断的编程|函数说明的格式|如何使用CMSIS的延时|读取通过外部中断实现按键捕获代码的实现及分析-学习笔记(14)

文章目录 通过外部中断实现按键捕获代码的实现及分析Tip1:函数说明的格式Tip2:如何使用CMSIS的延时GetTick函数原型stm32f407_intr_handle.c解析中断处理函数&#xff1a;void EXTI4_IRQHandler 调试流程软件模拟调试 两种代码的比较课后作业: 通过外部中断实现按键捕获代码的实…

5G网络在中国已经普及了,政策支持加大5G投入力度,这意味着什么呢?

5G网络是新型基础设施的重要组成部分&#xff0c;中国5G商用牌照已发放四年多&#xff0c;目前发展得怎样了&#xff1f;最近&#xff0c;官方公布了最新数据&#xff0c;截至7月底&#xff0c;中国5G移动电话用户已达7亿户&#xff0c;5G基站累计达到293.7万个&#xff0c;5G覆…

【perl】报错合集

perl报错合集 &#xff08;注&#xff1a;可能会不定时更新&#xff09; 1.Name “main::x” used only once: possible typo at … 1.Name "main::x" used only once: possible typo at ...给某个变量赋值但是从来没有用它&#xff0c;或者变量之只用一次但没有…

MobPush iOS SDK iOS实时活动

开发工具&#xff1a;Xcode 功能需要: SwiftUI实现UI页面&#xff0c;iOS16.1以上系统使用 功能使用: 需应用为启动状态 功能说明 iOS16.1 系统支持实时活动功能&#xff0c;可以在锁定屏幕上实时获知各种事情的进展&#xff0c;MobPushSDK iOS 4.0.3版本已完成适配&#xf…

使用手机相机检测电脑屏幕刷新率Hz

使用手机相机检测电脑屏幕刷新率Hz 1、电脑打开https://www.testufo.com/frameskipping 2、相机专业模式&#xff1a;快门1/10、ISO自动&#xff0c;拍摄一张照片。120Hz至少要有12个亮块&#xff0c;50Hz至少有6个亮块。 更改刷新速率 1、选择 “开始>设置>系统>显示…

《安富莱嵌入式周报》第319期:声音编程器,开源激光雕刻机,自制600W海尔贝克无刷电机,车用被动元件AEC-Q200规范,简单易上手的PySimpleGUI

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! ​ 更新视频教程&#xff1a; 更新第7期ThreadX视频教程&#xff1a;如何实现RTOS高效的任务管理&#xff0c;抢占式调…