Nmon工具全攻略,性能监控与测试必学!

本期为性能监控工具Nmon工具的使用指南,通过学习Nmon,我们能够清楚地了解Linux服务器资源CPU、磁盘、内存、网络、进程之间的关联,以及Nmon监控结果字段的含义与影响。更重要的是,通过熟悉监控结果中字段数据的由来,理清性能测试的分析思路,学会性能测试的分析方法。
想要提升性能监控与测试技能的小伙伴,推荐阅读!
Nmon简介
Nmon (Nigels Monitor) 是一个开源性能监控工具,是由IBM提供的免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来,输出一个特定的文件,并可利用excel分析工具(Nmon Analyser) 进行数据的统计分析。
1. Nmon可监控的数据类型
CPU使用率
内存使用情况
磁盘适配器
文件系统中的可用空间
页面空间和页面速度
网络文件系统(NFS)
磁盘 I/0 速度、传输和读/写比率
服务器详细信息和资源
内核统计信息
消耗资源最多的进程
运行队列信息
2. Nmon特点
耗费资源低,Nmon运行不会占用过多的系统资源,一般CPU利用率不会超过2%
监控数据类型全面
可以通过图表直观、实时地展示所监控的数据
移植性、兼容性较好,可兼容多个操作系统
无人值守监控,定时收集,不需要人工干预
可以实时查看监控结果,也可以测试结束后本地查看
Nmon软件体积小
Nmon安装简单
Nmon安装
1. 查看当前Linux系统的版本
[root@v-nginx-elb nmon]# cat /proc/version Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
2. 根据linux系统版本下载对应的Nmon软件
Nmon下载地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
这里选择的是Centos7 软件包nmon16m_helpsystems.tar.gz
3. 部署Nmon
(1)创建安装目录
[root@v-nginx-elb tmp]# mkdir -pv /usr/local/nmon mkdir: 已创建目录 "/usr/local/nmon"
(2)解压到安装目录
[root@v-nginx-elb tmp]# tar -zvxf nmon16m_helpsystems.tar.gz -C/usr/local/nmon/
(3)赋予Nmon执行权限
cd /usr/local/nmon && chmod +x ./*
(4)启动Nmon工具
/usr/local/nmon/nmon_x86_64_centos7


(5)Nmon交互模式

Nmon数据采集
1. Nmon数据收集
Nmon监控Linux系统资源的命令:
nmon_x86_64_centos7 -f -t -s 3 -c 10
参数解释:
-f: 关闭交互模式,按标准格式输出文件:_YYYYMMDD HHMM.nmon,将数据保存为CSV电子表格格式[-f设置默认值-s300-c288,可自行修改];
-t: 输出中包括占用率较高的进程;
-s 3: 每3秒进行一次数据采集;
-c 10: 一共采集10次,就是30s。

输入命令回车后,将自动在当前目录生成一个[hostname] [time].nmon的监控文件。如hostname为v-nginx-elb,则生成的文件为: v-nginx-elb_240316_1239.nmon。
2. 若是不想存储在当前目录,也可以指定存储目录
nmon_x86_64_centos7 -f -t -s 3 -c 10 -m /opt/nmon/data
选项参数:
-m: 指定生成的数据文件的存放目录。
3. 手动停止Nmon进程
(1)数据采集完过程中,需要关闭Nmon进程,要先获取Nmon的PID,那么就要使用ps命令查看进程的PID。
ps命令:查看服务器的进程信息。
选项参数:
-e: 等价于 “-A',表示列出全部的进程;
-f: 显示全部的列 (显示全字段)。

小知识:ps命令的结果列表的字段说明
UID: 该进程执行的用户id;
PID: 进程id;
PPID: 该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程被称为僵尸进程;
c: cpu的占用率,形式是百分数 (%);
STIME: 进程的启动时间;
TTY: 终端设备,发起该进程的设备识别符号,如果显示'?',表示该进程并不是由终端发起;
TIME: 进程的执行时间;
CMD: 该进程的名称或对应的路径。
grep命令介绍:查找文件里符合条件的字符串常与管道符|、cat、ps一起使用。
选项参数:
-E、--extended-regexp: 将PATTERN作为扩展的正则表达式;
grep -E: 可以传递多个关键字,作为过滤条件。例如,grep -E '关键字1|关键字2|关键字3'。

(2)杀掉进程:
kill 71667;
kill命今用来删除执行中的程序或工作,kill可将指定的信息送至程序;
kill -9 进程ID 强制终止进程。
Nmon数据分析
1. Nmon-Analyser下载
Nmon-Analyser分析工具是对数据收集模式生成的数据文件进行分析。
(1)工具下载地址:
https://nmon.sourceforge.io/pmwiki.php?n=Site.Nmon-Analyser
下载距离现在时间最近的稳定版本:nmon_analyser_v66.zip

(2)下载好的文件,放在本地一个单独的目录中,在windows系统中,新建一个nmon_data的文件夹,把Linux中的.nmon的文件都放在同一个目录中,方便之后的性能分析。

2. Nmon数据文件解析
(1)用 Excel打开分析工具nmon analyser v66.xlsm。

(2)点击分析工具nmon analvser v66.xlsm文件中的"Analyze nmon data"按钮,选择nmon数据文件,这样就会生成一个分析后的结果文件nmon.xls。用 Excel打开生成的nmon.xls文件,就可以看到监控的系统资源数据了。

3. Nmon数据分析
(1)SYS SUMM可以称为: 系统资源汇总
SYSSUMM的数据由分析仪生成,包含从其他表获取的数据的有用摘要;
User%、Sys%、Wait% 、 ldle% 的平均值、最大值是独立的,加起来不会达到100%;
CPU的%列显示每个间隔期间user%+sys%总和的平均值和最大值。

图表说明:
a. 采集点样本统计:
Samples: 采集点样本总数,折线图中出现的采集点统计总数;
First: 第一个采集点的采集时间;
Last: 最后一个采集点的采集时间。
b. 折线图:
[蓝线:CPU%]为cpu利用率变化情况 (user%+Sys%);
[紫线:10/sec]为磁
Nmon工具全攻略,性能监控与测试必学!
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



