当前位置: 首页 > news >正文

nmon使用方法

安装方法

方法1:

最简单方法:

#dnf install nom

验证

执行命令:

#nmon

方法2:

下载安装包安装,下载地址

官网:nmon and njmon | Site / Download

或者:https://sourceforge.net/projects/nmon/files/

根据自己的系统平台选择合适的安装包,本文使用的虚拟机openEuler系统,X86平台,因此选择:nmon16p_32_binaries_feb_2024.tar.gz 

解压nmon16p_32_binaries_feb_2024.tar.gz 

#tar -xzvf nmon16p_32_binaries_feb_2024.tar.gz

 然后选择对应的平台验证,例如:

#./nmon_x86_64_oel9

交互使用

直接运行 nmon 进入交互式界面,通过快捷键切换监控视图:

常用快捷命令说明

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

例如,按c键:

数据记录与分析

保存监控数据

使用 -f 参数后台运行并生成 CSV 文件

#nmon -f -s 10 -c 60 -m /opt/software/nmon1/

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

手动结束任务或等待自动完成,建议用 pkill 终止:

#pkill nmon

分析监控数据

1.使用 nmon Analyzer
将 .nmon 文件转换为可视化报告(需 Excel):

下载 nmon Analyzer。

用 Excel 打开工具,加载 .nmon 文件,自动生成图表报告。

 

2. 命令行分析
直接用脚本或工具(如 awk)解析 CSV 文件:

#awk -F, '/CPU_ALL/ {print $4 "," $5 "," $6}' hostName1_250708_1508.nmon 

高级用法 

1. 定时任务监控
通过 crontab 定期运行 nmon,以下示例每天 9 点到 18 点每小时监控 5 分钟:

0 9-18 * * * nmon -f -s 300 -c 12 -m /opt/software/nmon1
2. 监控特定子系统
通过参数指定需要监控的模块:

nmon -f -t -T -p -r test_run
-t:包含 Top 进程统计。
-T:输出网络和磁盘的详细信息。
-p:记录进程状态。

 

结果解读关键指标

重点关注:SYS_SUMM,CPU_ALL,CPU_SUMM,DISK_SUMM,DISKBUSY,MEM,NET

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

SYS_SUMM

系统汇总页面(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数据是相同的,区别只是前者使用线状图表示。

  • User%:用户态程序占用的 CPU 时间。
  • Sys%:内核态操作的 CPU 时间。
  • Wait%:CPU 等待 I/O 完成的时间(若 >10%,可能磁盘瓶颈)。
  • Idle%:空闲 CPU 百分比。
  • 图表:时间曲线展示各指标变化,帮助定位 CPU 峰值。

CPU Sheet:每个逻辑 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,如图:

 

CPU 使用率

  • User%: 用户程序占用。
  • Sys%: 系统内核占用。
  • Wait%: I/O 等待时间(高值可能表示磁盘瓶颈)。

内存

  • MemFree: 空闲内存。
  • Cached: 缓存内存(可被快速释放供程序使用)。
  • Swap 使用率: 过高可能需增加物理内存。

磁盘 I/O

  • Disk KB/s: 每秒读写数据量。
  • IO/s: 每秒 I/O 操作次数(高值可能需优化磁盘配置)。

网络

  • Recv/s 与 Trans/s: 网络接收/发送速度,警惕流量突增。

典型性能问题诊断

1. CPU 问题

  • 症状:User% 或 Sys% 长期高于 80%。
  • 操作:结合 PROC Sheet 查找高 CPU 进程,优化代码或调度策略。

2. 内存不足

  • 症状:Swap 使用量持续增加,Page In/Out 频繁。
  • 操作:扩展物理内存或优化应用内存管理。

3. 磁盘瓶颈

  • 症状:Disk Busy% >70% 或 Wait% 伴随高值。
  • 操作:升级为 SSD、优化 I/O 调度算法或使用 RAID 分散负载。

 

http://www.dtcms.com/a/270330.html

相关文章:

  • 征程 6|工具链量化简介与代码实操
  • 云原生安全观察:零信任架构与动态防御的下一代免疫体系
  • 人物设定一秒入魂!RAIDEN-R1提出可验证奖励新范式,让CoT推理更“人格一致”
  • SpringAI学习笔记-MCP客户端简单示例
  • python采集商品详情数据接口json数据返回参考
  • 前端面试常考题目详解​
  • 解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
  • (四)机器学习小白入门YOLOv :图片标注实操手册
  • 深度学习环境配置:PyTorch、CUDA和Python版本选择
  • 工作中的思考
  • 推荐系统中的相似度
  • 【计算机网络】第三章:数据链路层(上)
  • Redis常用数据结构以及多并发场景下的使用分析:Sorted List类型
  • (电机03)分享FOC控制中SVPWM的输出关联硬件
  • 【6G新技术探索】A2A协议介绍
  • 数据出海的隐形冰山:企业如何避开跨境传输的“合规漩涡”?
  • BM10 两个链表的第一个公共结点
  • main(int argc,char **agrv)的含义
  • Kubernetes配置管理
  • Vue3组合式API应用:状态共享与逻辑复用最佳实践
  • 说说SpringBoot常用的注解?
  • [Datawhale AI夏令营]大模型技术-基于带货视频评论的用户洞察挑战赛上分分享
  • React Native 一些API详解
  • 【ElasticSearch实用篇-02】基本增删改查
  • LoRaWAN 有几种入网方式?
  • 4. 那在详细说一下 http 2.0 的特点
  • WinUI3入门16:Order自定义排序
  • ACE-Step:AI音乐生成基础模型
  • 代码详细注释:基于log.h的自定义日志库实现
  • 探索下一代云存储技术:对象存储、文件存储与块存储的区别与选择