服务端监控工具:Nmon使用方法

一、认识nmon


1、简介

nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,

并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。

网站:

nmon and njmon | Site / Documentation

2、nmon可监控的数据类型

  1. 内存使用情况
  2. 磁盘适配器
  3. 文件系统中的可用空间
  4. CPU使用率
  5. 页面空间和页面速度
  6. 异步I/O,仅适用于AIX
  7. 网络文件系统(NFS)
  8. 磁盘I/O速度和读写比率
  9. 服务器详细信息和资源
  10. 内核统计信息
  11. 消耗资源最多的进程
  12. 运行队列信息

3、特点

①、占用系统资源少(一般不到2%)

②、功能强大(监控数据类型全面)

③、结合grafana之类的仪表图,可以更直观的实时展示所监控的数据

④、移植性、兼容性较好

二、检查安装环境


# 查看操作系统的信息
uname -a
# 查看linux发行版本
lsb_release -a

我的操作系统为64位,linux版本为CentOS6.8版本,后面使用nmon要用对应的版本

三、nmon下载安装


1、下载方式

①、下载到本地,通过FTP上传到服务器
②、命令行wget http://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gz

2、安装


下载完成后,执行以下命令:

# 新建一个nmon文件夹
mkdir nmon
# 新建一个nmon文件夹
mkdir nmon
# 移动,估计自己的版本选择合适的nmon版本移动过去
mv nmon_x86_64_centos6 /root/nmon
# 给工具授权
chmod -x nmon

也可以yum install nmon /apt-get install nmon

四、运行nmon


完成上面的操作后,切换到工具目录,执行./nmon_x86_64_centos6命令,出现如下界面,说明安装成功:

常用快捷命令说明:

1、# c
查看CPU相关信息
2、# m
查看内存相关信息
3、# d
查看磁盘相关信息
4、# n
查看网络相关信息
5、# t
查看相关进程信息
6、# h
查看帮助相关信息
7、# q
退出nmon

输入如上几种命令,结果如下图显示:

五、采集数据


nmon通过命令行启动监控,捕获服务器的各项数据,命令如下:

./nmon_x86_64_centos6 -s 10 -c 60 -f -m /root/nmon
# 参数说明
-f 监控结果以文件形式输出,默认机器名+日期.nmon格式
-F 指定输出的文件名,比如test.nmon
-s 每隔多少秒抽样一次,单位是秒,上述命令配置是10s;
-c 采样次数,上述命令配置是60,即监控总时长为10*60=600秒
-m 指定生成的文件目录


该命令执行后,会在/home/nmon目录下生成以hostname_YYYYMMDD_HHMM.nmon格式命名的监控文件,并将监控数据写入文件,nmon进程会在监控完成后自动退出,如需强制退出,先查找nmon进程 “ps –ef | grep nmon”,然后kill掉即可。

PS:一般来说不建议对稳定性测试使用nmon监控,因为生成的nmon文件超过10M时,分析工具会由于内存不足导致报错。

如果必须进行的话,建议加大采样频次,降低采样次数(低于330次)。

5.1 NMON监控结果分析


通过后台监控方式生成的.nmon文件,实际上是文本文件,可以直接用记事本或其他文本编辑工具打开,但可视化效果不好,也不方便分析。因此,通常使用nmon analyser对nmon文件进行解析,生成带图表信息的xlsx格式文件。

5.1.1 解析nmon文件


Nmon文件解析工具是nmon analyser,该工具可以从以下地址获取:

地址:

nmon and njmon | Site / Nmon-Analyser

在这里插入图片描述
获取工具后,无需安装,进入工具目录,双击nmon analyser vxx_x.xlsm格式的文件,即可打开工具界面,如图所示:

如果界面提示安全警告,“宏已被禁用”,点击【启用内容】即可,如上图红框内容所示。此时,点击【Analyze nmon data】,在windows文件选择框中选择待分析的nmon文件,等待分析、处理完成后,会在nmon文件目录下生成同名但后缀名为.xlsx的文件,后续分析在该xlsx文件中进行即可。

5.1.2 分析结果文件


通过nmon analyser工具,我们已经将nmon文件转换成xlsx格式的结果文件,打开结果文件,可以发现每个sheet页对应一个指标数据,一般在性能测试中,主要关注以下指标:

SYS_SUMM

SYS_SUMM

CPU_ALL

CPU_SUMM

DISK_SUMM

DISKBUSY

MEM

NET

每个指标对应结果文件中的同名sheet页,每个页面除了采样数据,还提供了对应的图表数据。在实际结果分析时,一般选择性能测试中所采样的数据,也就是说,如果你的nmon程序是在性能测试前就启动的,或者性能测试结束后仍然有采样的,此时的结果文件会包括一些非相关的数据。所以,我的建议是:在性能测试开始后启动nmon监控,通过设置监测时长使nmon在性能测试结束前退出。

接下来,对以上几个主要指标页面进行介绍。

5.1.3 主要指标页面介绍

系统汇总页面(SYS_SUMM):

该页面主要显示系统CPU(蓝线)和I/O(粉红线)的使用情况,其中坐标左纵轴为cpu(user%+sys%)使用率,横轴为运行时长,右纵轴为磁盘传输次数(Disk xfers),坐标图下方展示统计数据。

其中,User%为用户进程的CPU占比,Sys%为系统和中断的CPU占比,Wait%为进程阻塞等待完成一次IO请求的CPU占比,Idle%为空闲CPU占比。通常,CPU被充分使用的经验值是:User%:65%-70%;Sys%:30%-35%;Idle%:0%-5%。

CPU使用情况(CPU_ALL、CPU_SUMM):


CPU_ALL页面展示在采样周期内服务器的CPU的使用情况,实际上,与SYS_SUMM展示的CPU数据是相同的,区别只是前者使用线状图表示。

 CPU_SUMM页面展示的是每颗CPU的使用情况,与使用top命令,按数字键”1”显示各颗CPU的效果是一样的。

磁盘使用情况(DISK_SUMM、DISKBUSY):

DISK_SUMM页面主要显示磁盘读、写、IO情况,其中,需要注意的是:某一时间点的磁盘读写数据(Disk Read KB/s\Disk Write KB/s)等于该时间点上所有磁盘和分区的Read/Write的速率(KB/s)之和,分别与页面DISKREAD、DISKWRITE对应;某一采集时间点的IO/sec等于页面DISKXFER中该时间点上所有磁盘和分区的IO/sec之和。因此,该时间点上的I/O值统计是会有重复的。

 DISKBUSY页面主要显示各个磁盘及分区的繁忙程度,是磁盘使用时间和全部时间的比值,即磁盘有百分之多少时间是活动的。通常,根据该页面显示的磁盘百分比数据,可以快速了解该磁盘的使用情况。

内存使用情况(MEM):

MEM页面主要显示系统总内存、已用内存、可用内存、swap、cached等内存统计信息,统计单位为MB,图表左轴有个”千”字,单位换算后,memfree约19G

网络使用情况(NET):

NET页面显示服务器各个网络适配器读写数据情况,单位KB/s,注意与带宽单位(bps)的换算,1MB/s = 8Mbps,如图:

3 总结


nmon是linux平台一款优秀的性能监控工具,除了功能齐全的是啥交互模式外,更常用的功能是后台监控,通过一条命令即可获取服务器全面的资源使用数据,正因为这样,官网对自己工具的评价耐人寻味,“Why use five or six tools when one free tool can give you everything you need!!”
 

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

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

相关文章

【JavaEE】多线程(4) -- 单例模式

目录 什么是设计模式? 1.饿汉模式 2.懒汉模式 线程安全问题 什么是设计模式? 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀ 些固定的套路. 按照套路来⾛局势就不会吃亏. 软件开发中也有很多常⻅的 "问题…

【c++】string的模拟实现

目录 一. 交换函数swap 二. 默认成员函数 构造函数和析构函数 拷贝构造函数和赋值运算符重载 三. 容量相关操作接口 size 与 capacity reserve 与 resize 附:reserve与resize的区别 四. 修改相关操作接口 push_pack append insert 与 erase operato…

软件设计师——数据结构(一)

📑前言 本文主要是【数据结构】——软件设计师——数据结构的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

时序分解 | Matlab实现DBO-VMD基于蜣螂优化算法优化VMD变分模态分解时间序列信号分解

时序分解 | Matlab实现DBO-VMD基于蜣螂优化算法优化VMD变分模态分解时间序列信号分解 目录 时序分解 | Matlab实现DBO-VMD基于蜣螂优化算法优化VMD变分模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.利用蜣螂优化算法优化VMD中的参数k、a&…

千亿露酒市场的未来之“露”

执笔 | 尼 奥 编辑 | 扬 灵 12月15日,以“以美为酿,品致未来”为主题的中国露酒产业发展大会暨露酒价值论坛在“中国酒都”宜宾举办。 近年来,露酒产业发展异军突起,市场销售规模超越黄酒、葡萄酒品类,成为中国酒…

人工智能文本分类

在本文中,我们全面探讨了文本分类技术的发展历程、基本原理、关键技术、深度学习的应用,以及从RNN到Transformer的技术演进。文章详细介绍了各种模型的原理和实战应用,旨在提供对文本分类技术深入理解的全面视角。 一、引言 文本分类作为人工…

在线客服系统定价因素解析:影响价格的关键因素

跨境电子商务公司必不可少的工具就是在线客服系统。企业选择在线客服系统的时候免不了要对不同产品的功能性、价格、服务等因素进行考量。今天这篇文章,我们就来探讨一下在线客服系统的定价因素有哪些?探究市面上的在线客服系统价格各异的影响因素。为大…

c# bitmap压缩导致png不透明的问题解决

新建.net 6控制台项目 安装System.Drawing.Common包 代码如下 using System.Drawing; using System.Drawing.Imaging;namespace PngCompress02 {internal class Program{static void Main(string[] args){CompressPngImage("E:\Desktop\6.png", "E:\Desktop\6…

C++相关闲碎记录(14)

1、数值算法 &#xff08;1&#xff09;运算后产生结果accumulate() #include "algostuff.hpp"using namespace std;int main() {vector<int> coll;INSERT_ELEMENTS(coll, 1, 9);PRINT_ELEMENTS(coll);cout << "sum: " << accumulate(…

Python - coverage

coverage overage 是一个用于测量Python程序代码覆盖率的工具。它监视您的程序&#xff0c;注意代码的哪些部分已经执行&#xff0c;然后分析源代码&#xff0c;以确定哪些代码本可以执行&#xff0c;但没有执行。 覆盖率测量通常用于衡量测试的有效性。它可以显示代码的哪些…

整理了上百个开源中文大语言模型,涵盖模型、应用、数据集、微调、部署、评测

自ChatGPT为代表的大语言模型&#xff08;Large Language Model, LLM&#xff09;出现以后&#xff0c;由于其惊人的类通用人工智能&#xff08;AGI&#xff09;的能力&#xff0c;掀起了新一轮自然语言处理领域的研究和应用的浪潮。 尤其是以ChatGLM、LLaMA等平民玩家都能跑起…

抖音品牌力不足,如何开通抖音旗舰店?强开旗舰店全攻略来了!

随着直播的兴起&#xff0c;抖音电商在近年来的发展速度可谓是相当迅猛。越来越多的商家开始将重心投入到抖音电商。从开店、搭建直播间&#xff0c;起号&#xff0c;再到日常运营... 然而我们在第一步开店的时候&#xff0c;就遇到了不少麻烦。 1、选择开通抖音旗舰店&#x…

Spring Cloud + Vue前后端分离-第5章 单表管理功能前后端开发

Spring Cloud Vue前后端分离-第5章 单表管理功能前后端开发 完成单表的增删改查 控台单表增删改查的前后端开发&#xff0c;重点学习前后端数据交互&#xff0c;vue ajax库axios的使用等 通用组件开发:分页、确认框、提示框、等待框等 常用的公共组件:确认框、提示框、等待…

系列九、事务

一、事务 1.1、概述 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或者撤销操作请求&#xff0c;即&#xff1a;这些操作要么同时成功&#xff0c;要么同时失败。 例如: 张三给李四转账1000块钱&…

使用邮件群发平台,轻松实现高效沟通的4大优势!

新媒体带动着众多线上平台的发展&#xff0c;使得流量为企业带来了可观的营收。但是&#xff0c;随着短视频市场的饱和&#xff0c;想要再次获得初始时的流量就变得越发困难。在这个时候&#xff0c;企业不妨将眼光往邮件群发这个传统的营销方式上倾斜&#xff0c;特别是出海、…

数据结构之---- 动态规划

数据结构之---- 动态规划 什么是动态规划&#xff1f; 动态规划是一个重要的算法范式&#xff0c;它将一个问题分解为一系列更小的子问题&#xff0c;并通过存储子问题的解来避免重复计算&#xff0c;从而大幅提升时间效率。 在本节中&#xff0c;我们从一个经典例题入手&am…

盛最多水的容器

给定一个长度为 n 的整数列表 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器。 示例1&…

Python基础01-环境搭建与输入输出

零、文章目录 Python基础01-环境搭建与输入输出 1、Python概述 &#xff08;1&#xff09;为什么要学习Python 技术趋势&#xff1a;Python自带明星属性&#xff0c;热度稳居编程语言界前三 简单易学&#xff1a;开发代码少&#xff0c;精确表达需求逻辑&#xff1b;33个关…

什么是Maven?

什么是Maven 1、Maven是依赖管理、项目构建工具。 pom.xml springBoot项目的核心配置文件&#xff0c;pom项目对象模型、Dependency依赖管理模型。 Maven中的GAVP是指&#xff1a; 1、GroupId&#xff1a;当前工程组织id&#xff0c;例如&#xff1a;com.jd.tddl 2、ArtifactI…