1 简单介绍
nmon是IBM提供的一种在AIX与各种Linux操作系统上的监控与分析工具,应用广泛。相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。
nmon所记录的数据非常丰富,常用的包含以下一些方面:
● CPU占用率
● 内存使用情况
● 磁盘I/O速度、传输和读写比率
● 网络I/O速度、传输和读写比率、错误统计率与传输包的大小
● 文件系统的使用率
● 消耗资源最多的进程
● 页面空间和页面I/O速度
● 用户自定义的磁盘组
另外在AIX操作系统上,nmon还能监控到其他的一些信息,如异步I/O等。
2 安装
只需要下载解压软件包,选择合适的nmon版本,赋予可执行权限,运行即可。
nmon及nmon_analyzer下载:
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
3 实时监控
nmon 采用交互方式或记录方式运行。如果指定 -F、-f、-X、-x 或 -Z 则处于记录方式。否则nmon 处于交互方式。
- h查看帮助
[hadoop@hadoop001 ~]$ ./nmon_linux_x86_64
+nmon-14i------[H for help]---Hostname=hadoop001----Refresh= 2secs ---16:23.07---------+
| HELP --------------------------------------------------------------------------------|
| key --- statistics which toggle on/off --- |
| h = This help information |
| r = RS6000/pSeries CPU/cache/OS/kernel/hostname details + LPAR |
| t = Top Process Stats 1=basic 3=CPU |
| u = shows command arguments (hit twice to refresh) |
| c = CPU by processor l = longer term CPU averages |
| m = Memory & Swap stats L=Huge j = JFS Usage Stats |
| n = Network stats N = NFS |
| d = Disk I/O Graphs D=Stats o = Disks %Busy Map |
| k = Kernel stats & loadavg V = Virtual Memory |
| g = User Defined Disk Groups [start nmon with -g <filename>] |
| v = Verbose Simple Checks - OK/Warnings/Danger |
| b = black & white mode |
| --- controls --- |
| + and - = double or half the screen refresh time |
| q = quit space = refresh screen now |
| . = Minimum Mode =display only busy disks and processes |
| 0 = reset peak counts to zero (peak = ">") |
| Developer Nigel Griffiths see http://nmon.sourceforge.net |
| |
+ Warning: Some Statistics may not shown
- c与n查看CPU与网络
[hadoop@hadoop001 ~]$ ./nmon_linux_x86_64
+nmon-14i---------------------Hostname=hadoop001----Refresh= 2secs ---15:14.20-----------+
| CPU Utilisation -----------------------------------------------------------------------|
|---------------------------+-------------------------------------------------+ |
|CPU User% Sys% Wait% Idle|0 |25 |50 |75 100| |
| 1 0.0 0.0 0.0 100.0|> | |
| 2 0.5 0.0 0.0 99.5|> | |
| 3 0.0 0.0 0.0 100.0|> | |
| 4 0.0 0.0 0.0 100.0|> | |
| 5 0.0 0.0 0.0 100.0|> | |
| 6 0.0 0.0 0.0 100.0| > | |
| 7 0.5 0.5 0.0 99.0|> | |
| 8 0.0 0.0 0.0 100.0|> | |
|---------------------------+-------------------------------------------------+ |
|Avg 0.1 0.1 0.0 99.8|> | |
|---------------------------+-------------------------------------------------+ |
| Network I/O ---------------------------------------------------------------------------|
|I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans |
| lo 3.0 3.0 30.0 30.0 103.0 103.0 4.6 4.6 |
| eth0 2.3 1.1 17.0 10.5 137.9 105.0 5.1 14.5 |
|----------------------------------------------------------------------------------------|
| |
| |
- 可以重命名nmon文件
[hadoop@hadoop001 ~]$ mv nmon_linux_x86_64 nmon
4 数据采集
为了实时监控系统在一段时间内的使用情况,并将结果记录下来,我们可以通过运行以下命令实现:
[hadoop@hadoop001 ~]$ ./nmon -f -s 10 -c 60
运行后nmon每10秒采集一次数据,采集60次(10分钟的数据)。在当前目录生成一个名如hadoop001_161228_1523.nmon的文件。
- nmon重要参数:
-f:按标准格式输出文件:<hostname>_YYYYMMDD_HHMM.nmon;
-s time:采集频率,-s 10表示每10秒采集一次数据;
-c num:采集次数,-c 60表示采集10次;
-m dir:指定输出文件存放目录dir。
5 报表分析
nmon_analyser是一个可以把nmon生成的报告转化成excel报表的形式供我们查看的工具。
5.1 使用
- 解压nmon_analyser包,打开其中的excel文件
- 点击Analyze nmon data按钮
- 选择需要查看的nmon文件,保存分析结果。
5.2 结果查看
分析结果文件中包括所有的监控数据,部分结果类似:
- 系统Summary
- CPU使用
- Memory使用