介绍
Nmon (Nigel’s Monitor)是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具(nmon analyser)进行数据的统计分析。
下载
搜索下载nmon,上传到服务器解压。我用一个比较老的版本给大家演示一下。解压完有nmon16e_x86_rhel65,和nmon analyser v34a.xls。
- nmon16e_x86_rhel65前面是可执行文件,执行结束会生成监控文件,监控文件记录采集的服务器硬件指标,后缀是.nmon。
- nmon analyser v34a.xls用来将这个监控文件转化为易读的Excel表格,带有图表。
使用步骤
服务器处理
启动nmon的命令如下,启动后自动后台运行
./nmon16e_x86_rhel65 -f -s 10 -c 999999999 -m ./
若首次执行失败提示Permission Denied,执行
chmod +x nmon16e_x86_rhel65 即可。
参数解释:
- -s 10 每 10 秒采集一次数据。
- -c 999999999 采集 999999999 次硬件数据,表示要长时间采集
- -f 生成的数据文件名中包含文件创建的时间。
- -m 生成的数据文件的存放目录为当前目录。
[root@localhost nmontest]# ./nmon16e_x86_rhel65 -f -s 10 -c 999999999 -m ./
[root@localhost nmontest]# ls -lrt
total 372
-rwxr-xr-x. 1 root root 347506 Jul 1 2016 nmon16e_x86_rhel65
-rw-r--r--. 1 root root 29653 Aug 5 15:02 localhost_200805_1502.nmon
监控文件的名字由“主机名+时间”组成,nmon文件按照采样间隔,不断写入数据
[root@localhost nmontest]# tail -f localhost_200805_1502.nmon
VM,T0004,2,0,0,1247,7428,-1,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
PROC,T0004,1,0,81.4,-1.0,-1.0,-1.0,0.8,-1.0,-1.0,-1.0
NET,T0004,0.0,0.1,0.0,0.0,0.0,0.1,0.0,0.0
NETPACKET,T0004,0.0,1.5,0.0,0.0,0.0,0.8,0.0,0.0
JFSFILE,T0004,29.6,0.0,1.4,29.6,13.3
DISKBUSY,T0004,0.0,0.0,0.0,0.0,0.0,0.0
DISKREAD,T0004,0.0,0.0,0.0,0.0,0.0,0.0
DISKWRITE,T0004,0.0,0.0,0.0,0.0,0.0,0.0
DISKXFER,T0004,0.0,0.0,0.0,0.0,0.0,0.0
采集结束,关闭nmon
[root@localhost nmontest]# ps -ef | grep nmon
root 5226 1 0 15:02 pts/0 00:00:00 ./nmon16e_x86_rhel65 -f -s 10 -c 999999999 -m ./
root 6626 3519 0 15:24 pts/0 00:00:00 grep --color=auto nmon
[root@localhost nmontest]# kill -9 5226
本机处理
将nmon文件传到本地电脑(ASCII格式传输),用nmon analyser v34a.xls转换格式。如果有宏相关的警告,按“工具->宏->安全性->选择低安全性”即可。
总结
nmon可以长期采集硬件信息,设置采集间隔大的话对服务器性能影响可以忽略不计。适用于采集一段时间,例如采集几天,然后汇总分析的场景。通过分析硬件资源的占用变化原因,会有很多新的发现,使我们对系统的掌握更加透彻。但不适用实时监控的要求。