nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。并且,nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。在更新的计算机上,其CPU使用率将低于百分之一。
针对不同的操作系统版本,nmon有相应版本的程序,需要注意的是该文件需要执行授权操作方可正常运行。
nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:
² CPU 使用率
² 内存使用情况
² 内核统计信息和运行队列信息
² 磁盘 I/O 速度、传输和读/写比率
² 文件系统中的可用空间
² 磁盘适配器
² 网络 I/O 速度、传输和读/写比率
² 页面空间和页面速度
² CPU 和 AIX 规范
² 消耗资源最多的进程
² IBM HTTP Web 缓存
² 用户自定义的磁盘组
² 计算机详细信息和资源
² 异步 I/O,仅适用于 AIX
² 工作负载管理器 (WLM),仅适用于 AIX
² IBM TotalStorage® Enterprise Storage Server® (ESS) 磁盘,仅适用于 AIX
² 网络文件系统 (NFS)
² 动态LPAR (DLPAR)更改,仅适用于面向AIX或Linux的pSeries p5 和OpenPower
实际工作中,nmon有三种常用的使用模式,分别是实时监控、后台监控和定期监控模式。下面分别加以介绍
1、实时监控:在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键“H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据实时刷新,一目了然。但是如果我们希望将一段时间的资源情况记录下来,以备后续的分析工作,则需要以另一种方式使用nmon。
2、后台监控:为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令:./nmon -f -s 10 -c 360。说明:
Ø -f :按标准格式输出文件名称:<hostname>_YYYYMMDD_HHMM.nmon
Ø -s :每隔n秒抽样一次,这里为10秒
Ø -c :取出多少个抽样数量,这里为360,即监控=10*360/3600=1小时
该命令启动后,会在nmon所在目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。
3、定期监控:除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控可通过“#crontab -e”命令实现,在最后一行添加“0 8 * * 1,2,3,4,5 /nmon -f-s 30 -c 1200”,表示:周一到周五,从早上08点开始,监控10个小时(到18:00整为止)。
//查看相应的参数输入相应的字母即可,如查看CPU的,输入C即可
|
通过以下命令,将.nmon文件转化成.csv文件,在当前目录生成对应的.csv文件。
[root@localhost ~]# sort localhost_120427_0922.nmon > localhost_120427_0922.csv |
把生成的csv文件转化为excel,下载转化工具nmon analyser工具( nmon analyserv33g.xls)。下载后打开nmon analyserv33g.xls
点击Analyse nmon data选择生成的csv文件,然后就会转化成.excel文件,生成图形化的文件,方便数据分析,如下部分截图示例: