一、概述
监控,在检查系统问题或优化系统性能工做上是一个不可缺乏的部分。经过操做系统监控工具监视操做系统资源的使用状况,间接地反映了各服务器程序的运行状况。根据运行结果分析能够帮助咱们快速定位系统问题范围或者性能瓶颈点。nmon是一种在AIX与各类Linux操做系统上普遍使用的监控与分析工具,相对于其它一些系统资源监控工具来讲,nmon所记录的信息是比较全面的,它能在系统运行过程当中实时地捕捉系统资源的使用状况,而且能输出结果到文件中,而后经过nmon_analyzer工具产生数据文件与图形化结果。
nmon所记录的数据包含如下一些方面(也是咱们在寻找问题过程当中所关注的资源点):
i.NMON的基本功能centos
IBM的性能监控工具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
ii.NMON ANALYSER的基本功能介绍缓存
快速读取NMON产生的性能监控数据,并生成CPU、内存、网络、IO相关的性能数据报表,并可以针对每个进程生成进程的资源占用状况图表。
热点分析的加权平均值的计算
用处理器与收集间隔的比值表示的 CPU 使用率的分布状况,该信息有助于识别单线程的进程
IBM TotalStorage® Enterprise Storage Server (ESS) vpaths 的附加部分显示了每日各时段的设备繁忙状态、读取传输大小和写入传输大小
每日各时段的系统总数据速率,并对其进行调整以排除对 EMC hdiskpower 设备的重复计算,该信息有助于识别 I/O 子系统和 SAN(存储局域网络)瓶颈
EMC Corporation (EMC) hdiskpower 和 ESS DS8000(之前的 FAStT)dac 设备独立的工做表
分析内存使用率,以显示计算性和非计算性页面之间的差别
每一个网络适配器的每日各时段总数据速率
显示每条命令的平均 CPU 和内存使用率的 TOP 部分汇总数据安全
二、下载安装服务器
i、下载网络
http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon+Manualssh
《nmon工具使用说明.pdf》异步
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser工具
分析结果的工具,这个工具是一个excel的文件,名称为:nmon analyser v33A.xls性能
https://sourceforge.net/projects/nmon/files/nmon16d_x86.tar.gz/download优化
nmon_analyser下载地址
ii、安装
一、上传到服务器;
二、tar -xzvf nmon16d_x86.tar.gz解压安装包;
tips:最好先创建一个文件夹,将须要解压的文件解压到该文件夹下。
3.初步使用
i、运行界面
一、运行./nmon_x86_64_centos6就能够进入以下运行界面:
二、按c是查看CPU使用状况,获得以下图所示:
三、依次类推,键入“m”查看系统内存使用状况;键入“d”查看系统磁盘I/O状况;键入“h”查看帮助信息等。
ii、后台命令
./nmon/ nmon_x86_rhel5 -f -N -m /nmon/log -s 30 -c 120
参数含义为:
-f输出文件;
-T输出最耗资源的进程;
-s收集的时间间隔,单位为秒;
-c收集次数。
上面的命令会将系统最耗资源的进程近25秒的资源占用状况,每5s的方式收集一次,共5次,输出到当前目录的.nmon文件中。这个命令输入后,收集工做会在后台执行,所以文件会持续增加,在收集工做完成以前,不要将文件拷贝出来分析,可用ps命令看nmon进程。用ssh或其它ftp工具将生成的nmon文件拷贝出来,再用下载的nmon analyser工具打开,便可转换成Excel文件,在打开nmon analyser时会有宏安全提示,设置为容许便可。
而后获得以下图:
其余:
范例1:
自动按天采集数据:
在 crontab 中增长一条记录:
300*288=86400 秒,正好是一天的数据。
范例2:
A、执行命令:#crontab -e
B、在最后一行添加以下命令:
表示:
周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log