简介
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。并且,nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。在更新的计算机上,其CPU使用率将低于百分之一。
针对不同的操作系统版本,nmon有相应版本的程序,需要注意的是该文件需要执行授权操作方可正常运行。官网下载地址: http://nmon.sourceforge.net/pmwiki.php
安装nmon
以Ubuntu为例: 在终端中输入sudo apt-get install nmon
进行安装
安装完成后可以使用 nmon -h
查看帮助
nmon -h
Hint: nmon [-h] [-s <seconds>] [-c <count>] [-f -d <disks> -t -r <name>] [-x]
-h FULL help information
Interactive-Mode:
read startup banner and type: "h" once it is running
For Data-Collect-Mode (-f)
-f spreadsheet output format [note: default -s300 -c288]
optional
-s <seconds> between refreshing the screen [default 2]
-c <number> of refreshes [default millions]
-d <disks> to increase the number of disks [default 256]
-t spreadsheet includes top processes
-x capacity planning (15 min for 1 day = -fdt -s 900 -c 96)
Version - nmon 14g
... ...
使用 nmon
- 在终端中,直接输入
nmon
即可。有如下界面:
image.png
按照上面提示就能监控想要的性能指标
image.png
关闭查看项,只需再次按下对于的按键即可,比如: 查看CPU 按c
, 关闭查看CPU窗口 再次按下c
即可。
按q
退出nmon
nmon数据采集
为了实时监控系统在一段时间内的使用情况并将结果记录下来,我们可以通过运行以下命令实现:
# nmon -f -t -s 30 -c 10 -m /tmp
-f:按标准格式输出文件:<hostname>_YYYYMMDD_HHMM.nmon
-t:输出中包括占用率较高的进程
-s 30:每30秒进行一次数据采集
-c 180:一共采集10次
-m 生成的数据文件的存放目录
输入命令回车后,将在/tmp目录生成一个hostname_timeSeries.nmon的文件:
ls -l /tmp/xx-KL20_190725_1721.nmon
-rw-rw-r-- 1 xx xx 85749 7月 25 17:25 /tmp/xx-KL20_190725_1721.nmon
如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号
ps -ef|grep nmon
xx 487 1 0 17:40 pts/15 00:00:00 nmon -f -t -s 30 -c 1000 -m /tmp
然后杀掉该进程 kill -9 487 停止监控。
通过sort命令可以将nmon结果文件转换为csv文件:
# sort xx-KL20_190725_1721.nmon > nmon_test.csv
ls -l nmon_test.csv
-rw-rw-r-- 1 xx xx 85749 7月 25 17:43 nmon_test.csv
生成图形化结果
为了分析nmon监控获得的结果,IBM还提供了相应的图形化分析工具nmon_analyser,通过nmon analyser.xls工具可以把监控的结果文件转换成excel文件,方便分析系统的各项资源占用情况。
引用
详情可以参考:IBM 关于nmon的介绍
图形化报告生成工具:"nmon analyser——生成 AIX 性能报告的免费工具"