一 、前言
Nmon (Nigel’s Monitor)是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具(nmon analyser)进行数据的统计分析。
开源性能监控工具,用于监控linux系统的资源消耗信息,并能把结果输出到文件中,然后通过nmon_analyser工具产生数据文件与图形化结果。
二 、nmon软件安装与使用
1、下载(演示系统为Centos 7)
- 在命令行中使用wget 下载
wget http://sourceforge.net/projects/nmon/files/nmon16m_helpsystems.tar.gz
官网下载路径
nomn: 下载链接
2、安装并运行
① 新建文件夹
mkdir /nmon
② 把nmon用ftp上传到/nmon,或者通过其他介质拷贝到/nmno目录中(wget命令可直接在nmon目录下下载)
③ 解压
cd nmon/
tar -zxvf nmon16m_helpsystems.tar.gz -解压
mv nmon_x86_64_centos7 nmon -重命名
chmod 777 nmon -给权限
④运行软件
./nmon
输入命令启动Nmon,如下图
在上面的交互式窗口中,可以使用nmon 快捷键来显示不同的系统资源统计数据:
命令 | 备注 |
q | 停止并退出 Nmon |
h | 查看帮助 |
c | 查看 CPU 统计数据 |
m | 查看内存统计数据 |
d | 查看硬盘统计数据 |
k | 查看内核统计数据 |
n | 查看网络统计数据 |
N | 查看 NFS 统计数据 |
j | 查看文件系统统计数据 |
t | 查看高耗进程 |
V | 查看虚拟内存统计数据 |
v | 详细模式 |
- 按下c,m,d后如下图,CPU、内存、磁盘的消耗情况都直观的展现出来了,按q键可以退出。
3、数据采集
①采集
性能测试时,需要根据测试场景的执行情况,分析一段时间内系统资源的变化,这时需要nmon采集数据并保存下来,以下是常用的参数:
-f 参数: 生成文件,文件名=主机名+当前时间.nmon
-T 参数: 显示资源占有率较高的进程
-s 参数: -s 10表示每隔10秒采集一次数据
-c 参数: -s 10表示总共采集十次数据
-m 参数: 指定文件保存目录
如每隔5秒采集一次,一共采集12次,就是1分钟的数据(生成的文件已标红):
./nmon -f -s 5 -c 12 -m /
数据采集完毕后,如需关闭nmon进程,需要获取nmon的pid(已标红)
ps -ef | grep nmon
qgc 4455(pid) 4349(ppid) 0 23:40 pts/0 00:00:00 nmon
qgc 4491 4429 0 23:40 pts/1 00:00:00 grep nmon
再安全杀掉该进程:kill -9 pid
kill -9 4455
再次查询
ps -ef | grep nmon
qgc 4493 4429 0 23:40 pts/1 00:00:00 grep nmon
采集完成后,我们可以在根目录下看见数据文件,现在的数据文件我们是无法查看的,我们还需要借助nmon_analyser工具产生数据文件与图形化结果
三、nmon_analyser工具下载及使用
1、下载
下载链接: nmon_analyser 注:国内可能无法下载,可能需要通过外网下载
2、使用
①解压已下载的压缩包,并运行nmon analyser v66.xlsm
②将之前生成的 nmon 数据文件传到 Windows 机器上,用 Excel 打开分析工具
- 点击 Excel 文件中的 “Analyze nmon data” 按钮,选择 nmon 数据文件,这样就会生成一个分析后的结果文件: localhost_210922_1402.nmon.xlsx ,用 Excel 打开生成 的文件就可以看到结果了