一、工具下载
a.下载相对应版本的nmon工具
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
b.下载查看结果工具nmon_analyser
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser
二、命令的使用
a、.nmon文件授权
chmod 777 ./nmon_x86_64_sles11
b、启动nmon监控文件
[root@localhost nmon]#./nmon_x86_64_sles11 -f -s 3 -c 200
(执行方法: nmon -f -s 10 -c 8640
注:nmon -f -s t -c num
t 表示监控的时间间隔,num表示监控多少次。执行后生成一个文件:主机名称+时间.nmon的文件。
一天24*3600秒,共86400秒,设置nmon每10秒写一次数据,一天共8640次。)
c、输出.nmon文件
在nmon执行完后,会在当前目录下输出.nmon文件。
输出文件的命名方式:服务器名_日期时间.nmon。
三、分析阶段 我们通常需要 CPU(%)、MEM(%)、DISKBUSY(%)、NET(MB)几个相关数值
1. 关于有效行
由于nmon启动时间未必是应用平稳的时间,同时nmon监控时间段也许比应用施压的要长;所以nmon的结果里常常存在一些明显不合理的数据--比如前几次结果的CPU等占用明显低于中段的平均数据,或者后面几次采样结果很小;对于这样的数据我们在分析的时候要予以过滤;
a. CPU 占用
CPU_ALL 表,的CPU%列取平均值即可---注意下图中红框中就是无效数据;
b. DISKBUSY
DISKBUSY表,对于单磁盘服务器直接对SDA列取平均即可;多服务器的话看情况而定--若果只有一个磁盘有压力那么就选择那个磁盘即可,要是两个磁盘均有则要合起来取个平均;
c. MEM%
在MEM表里面使用如下公式计算出每行的内存使用率并进行取平均:
(Memtotal - Memfree - cached - buffers)/Memtotal * 100即( =(B2-F2-K2-N2)/B2*100)
d. NET(MB) 网络占用是唯一需要转换为MB的而不是%
找到eth0-total eth1-total中不为0的那列,取平均并除以1024