linux下使用nmon进行性能监控

步骤一:下载nmon及nmon analyser工具

nmon:http://nmon.sourceforge.net/pmwiki.php 根据自己系统的版本下载相应的版本即可

nmon analyser:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

步骤二:将nmon上传至安装目录下

1、创建nmon的目录

2、将上传的文件拷贝到nmon文件夹进行解压缩

3、解压后根据自己系统的实际版本查找相应的使用命令,并给命令赋予可执行的权限

4、./需要的脚本(根据自己系统的版本选择)

步骤三:配置环境变量

如上配置后,如果使用该命令需要找到该命令的详细路径才能使用,这样不是很方便,所以我们需要将nmon的命令添加到系统环境变量中去,以方便我们可以在任何地方都可以使用该命令。

1、修改启动文件名称:
#mv nmon_x86_centos6 nmon

./nmon //执行命令

2、添加到环境变量中:
#vim /etc/profile(在profile中写入以下两行内容)
PATH= P A T H : / h o m e / n m o n / n m o n ( PATH:/home/nmon/nmon ( PATH:/home/nmon/nmonPATH:后为命令的路径)
export PATH
3、 保存退出
4、 使配置文件立即生效
# source /etc/profile
# nmon (在任何目录下执行nmon命令启动nmon)


步骤四:采集监控数据
为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令在远程窗口执行命令:

nmon -s 1 -c 60 -f -m /usr/local/src/nmon/logs

参数说明:
-s 1 每隔n秒抽样一次,这里为1秒
-c 60 取出多少个抽样数量,这里为60,即监控=1*60/60=1分钟
-f 按标准格式输出文件名称:_YYMMDD_HHMM.nmon
-m 指定监控文件的存放目录,-m后跟指定目录 //如果不指定目录会在该命令的源目录下生成相应的监控文件

该命令启动后,会在nmon所在目录下生成监控文件,并持续写入资源数据,直至60个监控点收集完成——即监控1分钟,这些操作均自动完成,无需手工干 预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。
步骤四:生成图形化报表
通过后台监控和定期监控,我们可以得到扩展名为nmon的监控文件,这些文件记录着系统资源的数据,需要配合分析工具(nmon analyser)进行解读。
1、将/usr/local/src/nmon/logs文件夹下生成的命令通过sz命令下载到本地
2、在本地解压nmon_analyser_v52_1.zip,解压后双击打开nmon_analyser_v52_1.xlsm
3、点击界面上的Analyse nomn data按钮,将下载的下来的文件添加进去

注意事项
nmon analyser需要借助Excel的宏,WPS默认没有安装宏,即使你下载了插件,貌似也不能正常使用。所以还是老老实实的使用Microsoft的吧,小编使用的2007,能够正常的生成报表。


生成的报表中参数含义:

sheet名称
SYS_SUMM 系统汇总,蓝线为CPU占有率变化情况,粉线为磁盘IO变化的情况
AAA 关于操作系统以及nmon本身的一些信息
BBBB 系统外挂存储位置、状态以及描述信息
BBBC 系统外挂存储位置、状态以及描述信息
BBBD 磁盘适配器信息(包含磁盘适配器名称以及描述)
BBBE 包含通过lsdev命令获取的系统设备及其特征,显示vpaths和hdisks之间的映射关系
BBBG 显示磁盘组详细的映射关系
BBBL 逻辑分区(LPAR)配置细节信息
BBBN 网络适配器信息
BBBP vmtune,schedtune,emstathe lsatte命令的输出信息
CPUnn 显示执行之间内CPU占用情况,其中包含user%、sys%、wait%和idle%
CPU_ALL 所有CPU概述,显示所有CPU平均占用情况,其中包含SMT状态
CPU_SUMM 每一个CPU在执行时间内的占用情况,其中包含user%、sys%、wait%和idle%
DGBUSE 磁盘组每个hdisk设备平均占用情况
DGREAD 每个磁盘组的平均读情况
DGSIZE 每个磁盘组的平均读写操作
DGWRITE 每个磁盘组的平均写操作
DGXFER 每个磁盘组的I/O每秒操作
DISKBSIZE 执行时间内每个hdisk的传输块大小
DISKBUSY 每个hdisk设备平均占用情况
DISKREAD 每个hdisk的平均读操作
DISKWRITE 每个hdisk的平均写操作
DISKXFER 每个hdisk的I/O每秒操作
DISKSERV 本sheet显示在每个收集间隔中hdisk的评估服务时间(未响应时间)
DISK_SUMM 总体disk读、写以及I/O操作
ESSSERV 本sheet显示在每个收集间隔中vpaths的评估服务时间(未响应时间)
FILE 本sheet包含nmon内核内部的统计信息的一个子集,跟sar报告的值相同
FRCA
IOADAPT 对于BBBCsheet每个IO适配器列表,包含了数据传输速度为读取和写入操作(千字节/s)和I/O操作执行的总数量
JFSFILE 本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比
JFSINODE 本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的inode百分比
LARGEPAGE 本表显示Usedpages和Freepaged随着时间的变化
LPAR
MEM 本sheet主图上显示空闲实存的的数量
MEMUSE 除%comp参数外,本sheet包含的所有项都和vmtune命令中报告一样
MEMNEW 本sheet显示分配的内存片信息,分三大类:用户进程使用也,文件系统缓存,系统内核使用页
NET 本sheet显示系统中每个网络适配器的数据传输速率(千字节/s)
NETPACKET 本sheet统计每个适配器网络读写包的数量,这个类似于netpmon -O dd命令
NFS sheets
PAGE 本sheet统计相关页信息的记录
PROC 本sheet包含nmon内核内部的统计信息,其中RunQueue和Swap-in域是使用的平均时间间隔,其他项的单位是比率/s
PROCAIO 本sheet包含关于可用的和active的异步IO进程数量信息
TOP
UAGE
WLM sheets
ZZZZ 本sheet自动转换所有nmon的时间戳为现在真实的时间,方便更容易的分析


步骤五:定时任务

除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控实现如下:

  1. 执行命令:#crontab –e

  2. 在最后一行添加如下命令:

0 8 * * 1,2,3,4,5 /nmon/nmon_x86_rhel5 -f -N -m /nmon/log -s 30 -c 1200

表示:

周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log

自动按天采集数据:

在 crontab 中增加一条记录:

0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1

300*288=86400 秒,正好是一天的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值