##详解性能监控工具 nmon

前言
  • 做性能测试,服务器监控是至关重要的,前面也讲了通过 ServerAgent 去监控服务器
  • 这一篇博文将详细讲解 nmon 监控工具
nmon 官方介绍
  • nmon是一种在 AIX 与各种 Linux 操作系统上广泛使用的监控与分析工具
  • 它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面
  • 它可将服务器系统资源耗用情况收集起来并输****出一个特定的文件,并可利用 excel 分析工具(nmon analyser)进行数据的统计分析
nmon 可监控的数据类型
  • CPU使用率
  • 内存使用情况
  • 磁盘适配器
  • 文件系统中的可用空间
  • 页面空间和页面速度
  • 异步I/O,仅适用于AIX
  • 网络文件系统(NFS)
  • 磁盘 I/O 速度、传输和读/写比率
  • 服务器详细信息和资源
  • 内核统计信息
  • 消耗资源最多的进程
  • 运行队列信息
nmon 特点
  1. nmon 运行不会占用过多的系统资源,通常情况下CPU利用率不会超过 2%
  2. 功能强大,监控数据类型全面
  3. 结合grafana之类的仪表图,可以更直观的实时展示所监控的数据
  4. 移植性、兼容性较好
  5. 无人值守监控
  6. 可以实时查看监控结果,也可以测试结束后本地查看监控结果
nmon 在做性能测试时的劣势

不能像 ServerAgent 一样集成到 Jmeter 中查看监控结果

Linux 下安装并运行 nmon

检查安装环境

# 查看操作系统的信息 uname -a 
# 查看linux发行版本  lsb_release -a
# 返回-bash: username: command not found,安装 yum -y install redhat_lsb

[img]

下载 nmon
方式一

官方地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

通过 FTP 上传到服务器目录下/nmon mkdir /nmon 创建nmon目录

方式二

服务器直接敲命令行

wget http://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gz 

这种方式无法下最新版的

百度云下载链接

包含了 nmon 安装包和分析数据工具包

链接:https://pan.baidu.com/s/1_OVExaWzZzmgpgiiTLkVkQ
提取码:vqkq

解压
tar -zxvf nmon16m_helpsystems.tar.gz 
查看解压后的文件

[img]

运行 nmon

我的系统是 x86_64 centos7,敲

./nmon_x86_64_centos7

常用 nmon 快捷命令
  • q : 停止并退出 nmon
  • h : 查看帮助
  • c : 查看 CPU 统计数据
  • m : 查看内存统计数据
  • d : 查看硬盘统计数据
  • k : 查看内核统计数据
  • n : 查看网络统计数据
  • N : 查看 NFS 统计数据
  • j : 查看文件系统统计数据
  • t : 查看高耗进程
  • V : 查看虚拟内存统计数据
  • v : 详细模式

按多个快捷命令可以同时显示多项监控结果哦

nmon 命令行参数
参数 作用
-f 监控结果以文件形式输出,默认:机器名_日期_时间.nmon
-F 和 -f 一样作用,不过要指定输出文件名
-s 采样频率,单位秒
-c 采样次数
-m nmon 文件保存的目录
-T 显示资源占用率高的进程
命令行
# 数据采集
nmon -f -t -s 10 -c 6 -m /data/nmon

# 无nmon指令需要操作如下
[root@localhost source]#cp nmon_x86_64_centos7 /usr/bin

[root@localhost source]#cd /usr/bin

[root@localhost source]# chmod 777 nmon_x86_64_centos7

[root@localhost source]# ./nmon_x86_64_centos7(切换到nmon_x86_rhel45文件所在的目录)

[root@localhost source]# env

[root@localhost source]# mv nmon_x86_64_centos6 nmon

[root@localhost source]# nmon(此时nmon就是全局命令)

每 10s 采集一次系统资源数据,共采集 6 次(1 min 内收集 6 次),将最终 nmon 文件生成在 /data/nmon 目录下

将这个 .nmon 文件传输到本地,用于后续的结果分析

重点
  • 一般来说不建议对稳定性测试(压力测试)使用 nmon 监控,因为生成的 nmon 文件超过10M时,分析工具会由于内存不足导致报错
  • 如果必须进行的话,建议加大采样频次,降低采样次数(低于330次)
查看 nmon 监控结果
nmon_analyser 介绍
  • nmon 监控捕获的信息,一般用 nmon_analyser 来进行分析
  • nmon_analyser 由 IBM 提供, 使用 excel 的宏命令分析加载生成 excel 图表,展示资源占用的各项信息
下载nmon_analyser

官方:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser

链接:https://pan.baidu.com/s/1_OVExaWzZzmgpgiiTLkVkQ
提取码:vqkq

解压后发现有两个文件

  • pdf:说明文档
  • xlsm:宏文件,分析工具
打开 nmon analyser v66.xlsm

记住一定要通过 office 或者 wps 用 excel 的方式打开哦,且需要启动了

解决宏启动失败的情况

你打开Excel,按Alt+F11键,看看能不能打开VBE窗口。
1、打都打不开,报错,这有可能是office安装的时候缺少了什么文件,或你安装的office是精简版的,本身就用不了宏。需要重新安装完整版,或者换一个版本。
2、能打开VBE窗口,这有可能是安全级别的问题,一般是在“选项”“信任中心”里,有宏设置,将安全级别调低就可以用了。
3、你只说无法运行,也有可能你编写或录制的宏代码有问题。
4、一切正常就是用不了,这个嘛……不用找了,果断重新安装office吧。

打开 .nmon 文件

点击 Analyze nmon data,选择 nmon 文件

查看监控结果数据

nmon 监控结果图表分析

分析结果文件为一个excel表格,里面分为 SYS_SUMM、CPU_ALL、MEM、DISK_SUMM 等多个标签页,每个标签页都有该主题下监控的明细数据和对应的统计图表

每个标签页都展示了对某一指标如CPU、内存、网络、I/O的详细监控数据

重点

  • 如果一个CPU被充分使用,CPU占用时间配比应为User%(65-70%),Sys%(30-35%),Idel%(0-5%)
  • 如果 Sys% 占比过大说明系统进程本身占领大部分 cpu 资源,可考虑系统是否存在过多僵尸进程或者系统进程存在死循环等原因
  • CPU Wait% 占比过大说明可能 IO 或内存方面存在瓶颈,可能是由于内存不够而引起频繁的的数据交换
posted @ 2021-09-24 15:50  太白之魔童降世  阅读(1059)  评论(0编辑  收藏  举报