nmon性能结果报告分析
一、nmon命令
./nmon_x86_64_centos7 -f -s 10 -c 60 -m ./log/
命令的含义是:
-f :按标准格式输出文件名称:_YYYYMMDD_HHMM.nmon
-t :输出最耗资源的进程
-s :每隔n秒抽样一次,这里为10秒
-c :取出多少个抽样数量,这里为采集 60 次,即监控 = 10*60 = 600秒 = 10分钟
-m : 报告输入路径
nmonreport:监控记录的标题
hostname:主机名
二、nmon性能结果报告分析
(1)SYS_SUMM【服务器资源使用率汇总】
服务器资源使用率汇总表:整体信息页面,显示当前服务器的总体性能情况
【正上方】Samples、First、Last:采集点样本统计。
Samples:采集点样本总数,折线图中出现的采集点统计总数。
First:第一个采集点的采集时间。
Last:最后一个采集点的采集时间。
【正中间】折线图:[蓝线:CPU%]为cpu占有率变化情况;[紫线:IO/sec]为磁盘IO的变化情况。
IO/sec:[紫线]仅显示磁盘IO/sec的图,不包括Network的I/O。每秒钟输出到物理磁盘的传输次数。
【左下角】Disk tps statistics:磁盘的总体数据,包括如下几个:
1、Avg tps during an interval:
显示采集间隔内磁盘平均I/O次数,该值等于Sheet DISK_SUMM中IO/sec列的平均值。
每个间隔时间内,平均每秒IO数,也可以理解为提交处理的次数。
2、Max tps during an interval:
显示采集间隔内磁盘最大I/O次数,该值等于Sheet DISK_SUMM中IO/sec列的最大值。
每个间隔时间内,每秒最大IO次数。
3、Max tps interval time:
显示磁盘最大I/O所在时间点。
最大传送次数出现的时间点。
4、Total number of Mbytes read:
显示采集间隔内磁盘读的总兆字节数,可能是nmon的bug,该值并不准确,并且使用LVM划分的虚拟磁盘可能会存在重复统计。
整个监控时间内读的字节数。
5、Total number of Mbytes written:
显示采集间隔内磁盘写的总兆字节数,该值并不准确,理由同上。
整个监控时间内写的字节数。
6、Read/Write Ratio:
显示 Total number of Mbytes read/ Total number of Mbytes written 的值。
实时读写比率。
【右下角】CPU:CPU的总体数据,包括如下几个:
// ********************* 橫行:CPU各项指标 **************************** //
1、User%:显示采集间隔内所有CPU在User Mode下的Time占比。
2、Sys%:显示采集间隔内所有CPU在System Mode下的Time占比。
3、Wait%:显示采集间隔内所有CPU处于空闲且等待I/O完成的时间比例。
4、Idle%:CPU空闲率,显示采集间隔内所有CPU处于空闲Time的占比。
5、CPU%:cpu占有率,显示采集间隔内所有CPU的(user%+system%)占比和。
// ****************** 纵列:CPU各项指标数据中的特殊值 ******************* //
1、Max:cpu各项指标数据中的最大值。
2、Avg:cpu各项指标数据中的整体平均值。
3、Max:Avg:cpu各项指标数据的最大值和平均值的比率。
1、Wait% 是 CPU 空闲状态的一种,当CPU处于空闲状态而又有进程处于 D 状态(不可中断睡眠)时,
系统会统计这时的时间,并计算到Wait%里。
2、Wait% 不是一个时间值,而是时间的比例,因此在同样 I/O Wait 时间下:
服务器 CPU 越多,Wait% 越低,它体现了 I/O 操作与计算操作之间的比例。
3、对 I/O 密集型的应用来说一般 Wait% 较高,且 Sheet PROC 中 Blocked 也较高,
这时需关注是什么导致了过多的进程等待。
(2)MEM
1.内存(MB)报表:本 sheet 主图上显示空闲实存的数量
1、在 MEM 表里面使用如下公式计算出每行的内存使用率并进行取平均:
(Memtotal - Memfree - cached - buffers)/Memtotal * 100 即 =(C2-G2-L2-O2)/C2*100
统计后手动绘制拆线图,如
2、通过分析内存使用率的趋势,可定位是否内存泄露情况。
3、有人看到内存使用率是 99%,就认为内存用满了,并没有区分内存分页是什么类型,这样武断的说内存用满了是不科学的。
4、在 AIX 上主要关注的是计算内存占整个物理内存的百分比,linux 上主要关注的是 active 内存占整个物理内存的百分比。
Real Free %:实际剩余内存百分比
Virtual free %:虚拟剩余内存百分比
Real free(MB):实际剩余内存大小(MB)
Virtual free(MB):虚拟剩余内存大小(MB)
Real total(MB):实际内存总体大小(MB)
Virtual total(MB):虚拟内存总体大小(MB)
2.图表说明: