文章目录
概述
在性能测试过程中,需要对服务端的各项资源使用情况进行监控。
nmon简介
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,
并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。
nmon可监控的数据类型
- 内存使用情况
- 磁盘适配器
- 文件系统中的可用空间
- CPU使用率
- 页面空间和页面速度
- 异步I/O,仅适用于AIX
- 网络文件系统(NFS)
- 磁盘I/O速度和读写比率
- 服务器详细信息和资源
- 内核统计信息
- 消耗资源最多的进程
- 运行队列信息
nmon监控工具的特点
- 占用系统资源少(一般不到2%)
- 功能强大(监控数据类型全面)
安装nmon
查看操作系统信息
[root@aliyun ~]# uname -a
Linux aliyun 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
查看需要被监控服务器的Linux发行版本
[root@aliyun ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.7.1908 (Core)
Release: 7.7.1908
Codename: Core
可以看到操作系统为64位,Linux发行版本为CentOS7.7
下载nmon
手动下载nmon上传至服务器
去这个官方下载地址下载
选择第一个进行下载即可
然后解压缩,选择合适版本,上传到Linux服务器
➜ 下载 mkdir nmon
➜ 下载 tar -xzvf nmon16m_helpsystems.tar.gz -C nmon
nmon_power_64_centos6
nmon_power_64_centos7
nmon_power_64_linux
nmon_power_64_rhel6
nmon_power_64_rhel7
nmon_power_64_sles11
nmon_power_64le_centos7
nmon_power_64le_centos8
nmon_power_64le_linux
nmon_power_64le_rhel7
nmon_power_64le_rhel7_gpu
nmon_power_64le_rhel8
nmon_power_64le_sles12
nmon_power_64le_ubuntu14
nmon_power_64le_ubuntu16
nmon_power_64le_ubuntu18
nmon_x86_64_centos5
nmon_x86_64_centos6
nmon_x86_64_centos7
nmon_x86_64_centos8
nmon_x86_64_debian08
nmon_x86_64_debian09
nmon_x86_64_debian10
nmon_x86_64_mint18
nmon_x86_64_mint19
nmon_x86_64_oel5
nmon_x86_64_oel6
nmon_x86_64_oel7
nmon_x86_64_oel8
nmon_x86_64_opensuse10
nmon_x86_64_opensuse11
nmon_x86_64_opensuse12
nmon_x86_64_opensuse15
nmon_x86_64_rhel5
nmon_x86_64_rhel6
nmon_x86_64_rhel7
nmon_x86_64_rhel8
nmon_x86_64_sles10
nmon_x86_64_sles11
nmon_x86_64_sles12
nmon_x86_64_sles15
nmon_x86_64_ubuntu14
nmon_x86_64_ubuntu16
nmon_x86_64_ubuntu18
nmon_x86_64_ubuntu19
➜ 下载 cd nmon
➜ nmon ls
nmon_power_64_centos6 nmon_power_64_linux nmon_x86_64_mint19 nmon_x86_64_rhel8
nmon_power_64_centos7 nmon_power_64_rhel6 nmon_x86_64_oel5 nmon_x86_64_sles10
nmon_power_64le_centos7 nmon_power_64_rhel7 nmon_x86_64_oel6 nmon_x86_64_sles11
nmon_power_64le_centos8 nmon_power_64_sles11 nmon_x86_64_oel7 nmon_x86_64_sles12
nmon_power_64le_linux nmon_x86_64_centos5 nmon_x86_64_oel8 nmon_x86_64_sles15
nmon_power_64le_rhel7 nmon_x86_64_centos6 nmon_x86_64_opensuse10 nmon_x86_64_ubuntu14
nmon_power_64le_rhel7_gpu nmon_x86_64_centos7 nmon_x86_64_opensuse11 nmon_x86_64_ubuntu16
nmon_power_64le_rhel8 nmon_x86_64_centos8 nmon_x86_64_opensuse12 nmon_x86_64_ubuntu18
nmon_power_64le_sles12 nmon_x86_64_debian08 nmon_x86_64_opensuse15 nmon_x86_64_ubuntu19
nmon_power_64le_ubuntu14 nmon_x86_64_debian09 nmon_x86_64_rhel5
nmon_power_64le_ubuntu16 nmon_x86_64_debian10 nmon_x86_64_rhel6
nmon_power_64le_ubuntu18 nmon_x86_64_mint18 nmon_x86_64_rhel7
➜ nmon
然后只要把nmon_x86_64_centos7
这一个文件上传到服务器就可以了。
命令行方式直接在服务器上通过wget
下载
wget http://sourceforge.net/projects/nmon/files/nmon16m_helpsystems.tar.gz
然后还是跟上边步骤一样,最后选择nmon_x86_64_centos7
这个版本的文件即可。
安装nmon
# 改名
mv nmon_x86_64_centos7 nmon
# 给工具授权
chmod 777 nmon_x86_64_centos7
运行nmon
完成上面的操作后,执行 ./nmon 命令,出现如下界面,说明安装成功:
常用快捷命令说明
# c
查看CPU相关信息
# m
查看内存相关信息
# d
查看磁盘相关信息
# n
查看网络相关信息
# t
查看相关进程信息
# h
查看帮助相关信息
通过nmon采集服务器的性能数据
nmon通过命令行启动监控,捕获服务器的各项数据,命令如下
./nmon -ft -s 10 -c 60 -m /root/nmon
# 参数说明
-f 监控结果以文件形式输出,默认机器名+日期.nmon格式
-F 指定输出的文件名,比如test.nmon
-s 指的是采样的频率,单位为毫秒
-c 指的是采样的次数,即以上面的采样频率采集多少次
-m 指定生成的文件目录
- 一般来说不建议对稳定性测试使用nmon监控,因为生成的nmon文件超过10M时,分析工具会由于内存不足导致报错。
- 如果必须进行的话,建议加大采样频次(比如60s,这样的话即使采集次数为60次,也都已经采集了一个小时的服务器性能数据了),降低采样次数(低于330次)。
监控结果分析
nmon监控捕获的信息(也就是生成的.nmon文件),可以用nmonchart来进行分析。
下载nmonchart
wget http://sourceforge.net/projects/nmon/files/nmonchart39.tar
mkdir nmonchart
tar -xf nmonchart39.tar -C nmonchart/
cd nmonchart
➜ nmonchart ll
总用量 3.9M
-rwx------ 1 mi mi 45K 11月 20 2019 nmonchart
-rwx------ 1 mi mi 1.6K 11月 20 2019 nmonchart_cron
-rw------- 1 mi mi 109 11月 20 2019 nmonchart_license
-rwx------ 1 mi mi 2.2K 11月 20 2019 nmon_upload.php
-rw------- 1 mi mi 17K 11月 20 2019 README
-rw------- 1 mi mi 197K 11月 20 2019 sampleC.html
-rw------- 1 mi mi 468K 11月 20 2019 sampleC.nmon
-rw------- 1 mi mi 828K 11月 20 2019 sampleD.html
-rw------- 1 mi mi 2.4M 11月 20 2019 sampleD.nmon
如上所示nmonchart
就是用来解析xxx.nmon
文件的,首先要给nmonchart
授予可执行权限
# 授权
chmod 777 nmonchart
# 解析c3-dp-staging02_200603_1927.nmon文件数据
./nmonchart c3-dp-staging02_200603_1927.nmon
执行上边命令将会在当前目录下生成一个已解析完成的c3-dp-staging02_200603_1927.html
HTML文件。
然后我们双击打开这个HTML文件就可以看到已经解析成功的数据了。
具体指标参数说明参考官方文档最下边的Summary of the graphs(图形摘要)说明
最后,我这边提供了一个解析完成的HTML文件,可以直接在线进行查看。点我查看