目录
一、nmon命令
二、nmon性能结果报告分析
(1)SYS_SUMM【服务器资源使用率汇总】
(2)AAA
(3)PIVOTCHART
(4)BBBP
(5)DISK_SUMM
(6)CPU_ALL
(7)CPU_SUMM
(8)DISKBSIZE
(9)DISKBUSY
(10)DISKREAD
(11)DISKWRITE
(12)DISKXFER
(13)JFSFILE
(14)MEM
(15)NET
(16)NETPACKET
(17)PROC
(18)Sheet26
(19)TOP
(20)VM
(21)ZZZZ
(22)CPU001
(23)CPU002
(24)CPU003
(25)CPU004
一、nmon命令
./nmon -f -t -r nmonreport -s 10 -c 60
命令的含义是:-f :按标准格式输出文件名称:<hostname>_YYYYMMDD_HHMM.nmon-t :输出最耗资源的进程-s :每隔n秒抽样一次,这里为10秒-c :取出多少个抽样数量,这里为采集 60 次,即监控 = 10*60 = 600秒 = 10分钟nmonreport:监控记录的标题hostname:主机名
二、nmon性能结果报告分析
(1)SYS_SUMM【服务器资源使用率汇总】
①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、Avg:cpu各项指标数据中的整体平均值。2、Max: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)AAA
①AAA
服务器基本信息表:显示当前服务器基本信息,关于操作系统以及 nmon 本身的一些信息。
②参数说明:
(3)PIVOTCHART
①PIVOTCHART
数据透视图:这些参数被用来构建数据透视图。
所需的参数:Sheetname,PageField,rowfield,columnfield,DataField 和 xlfunction(总和,最小,平均,最大值)。
数据来源 TOP(可以查看指定进)。
②参数说明:
(4)BBBP
①BBBP
命令及输入结果表:vmtune,schedtune, emstat 和 lsattr 等命令的输出信息。
②在linux执行命令及输出结果例子、BBBP列表图示:
③命令说明:
(5)DISK_SUMM
①DISK_SUMM
总体disk读、写以及I/O操作表:按采集时间显示所有磁盘和分区的Read/Write的速率(KB/s)和所有磁盘和分区的I/O率。
某一采集时间点的IO/sec等于Sheet DISKXFER中该时间点上所有磁盘和分区的IO/sec之和。因此,这一时间点上的I/O值是重复的!另外,本Sheet中的I/O不包括NFS里的I/O。
②图表说明:
(6)CPU_ALL
①CPU_ALL
CPU概述表:显示所有CPU平均占用情况,其中包含 SMT 状态,可以看到 CPU 整体上在每个监控点的数据。可以看到 CPU 整体上在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、CPU% 以及 CPUs(cpu个数)及对应图表。
②图表说明:
(7)CPU_SUMM
①CPU_SUMM
CPU占用情况表:显示当前服务器所有CPU的利用率,当前服务器共有4个CPU(Core),每个CPU负载有所不同,显示每一个CPU在执行时间内的占用情况,其中包含user%、sys%、wait% 和 idle%。
②图表说明:
(8)DISKBSIZE
①DISKBSIZE
hdisk的磁盘块信息表:执行时间内每个hdisk的传输块大小,详细记录了各监控时间点每个hdisk的磁盘块的大小,如我的服务器包括了sda、sda1、sda2、sda3以及dm-0、dm-1、dm-2、dm-3(dm是device mapper(设备映射))以及对应的Avg、WAvg和Max计算值。
②图表说明:
(9)DISKBUSY
①DISKBUSY
hdisk设备平均占用情况表:每个hdisk设备平均占用情况,详细记录了各监控时间点每个hdisk繁忙情况,包括的点同DISKBSIZE页面。
②图表说明:
(10)DISKREAD
①DISKREAD
hdisk平均读情况表:每个hdisk的平均读情况,详细记录了各监控时间点每个hdisk每秒读的子节数,包括的点同DISKBSIZE页面。
②图表说明:
(11)DISKWRITE
①DISKWRITE
hdisk平均写情况表:每个hdisk的平均写情况,详细记录了各监控时间点每个hdisk每秒写的子节数,包括的点同DISKBSIZE页面。
②图表说明:
(12)DISKXFER
①DISKXFER
每秒磁盘传输数报表:每个 hdisk 的 I/O 每秒操作
②图表说明:
(13)JFSFILE
①JFSFILE
已用 [主机名] 的 jfs 文件空间百分比报表:本 sheet 显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比。
(filesystem/LV:文件系统以及mount磁盘设备已使用空间百分比)
②图表说明:
(14)MEM
①MEM
内存(MB)报表:本 sheet 主图上显示空闲实存的数量。
1、在 MEM 表里面使用如下公式计算出每行的内存使用率并进行取平均:(Memtotal - Memfree - cached - buffers)/Memtotal * 100 即 ( = (B2-F2-K2-N2)/B2 * 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)
②图表说明:
(15)NET
①NET
网络数据传输速率(KB/s)报表:本 sheet 显示系统中每个网络适配器的数据传输速率(千字节/秒)
该页面包含了每个监控时间点各个网络适配器的读写等数据传输速率(千字节/秒),如服务器包括适配器有 eth0 和 lo。
read/write:显示系统中每个网络适配器的数据传输速率(千字节/秒)
②图表说明:
(16)NETPACKET
①NETPACKET
网络数据包统计报表:本 sheet 统计每个适配器网络读写包的数量;这个类似于netpmon–O dd 命令
该页面包含了每个监控时间点各个网络适配器读写包的数量。
reads/s:统计每个适配器网络读包的数量writes/s:统计每个适配器网络写包的数量
②图表说明:
(17)PROC
①PROC
进程速率报表:本 sheet 包含 nmon 内核内部的统计信息。
其中 RunQueue 和 Swap-in 域是使用的平均时间间隔,其他项的单位是比率/秒。
rcvint:tty 接收中断的数量(同 sar-y 中的 revin/s)xmtint:tty 传输中断的数量(同 sar-y 中的 xmtin/s)
②图表说明:
(18)Sheet26
①Sheet26
Sheet26 报表:进程详情列表
②参数说明:
进程号:
1、操作系统里指进程识别号,也就是进程标识符。
2、操作系统里每打开一个程序都会创建一个进程 ID,即 PID。
3、PID 是各进程的代号,每个进程有唯一的 PID 编号。
(19)TOP
①TOP
TOP报表:按命令截获CPU %报表、按命令截获内存(MBytes)、按命令截获 Charlo(MBytes)、PID进程率
CharIO:通过读写系统调用的每秒字节数%RAM:此命令所使用的内存百分比 ((ResText + ResData) / Real Mem)Paging:此进程所有page faults的总数WLMClass:此程序已分配的 Workload Manager superclass名称User:运行进程的用户名Arg:包含完整的参数字符串输入命令
②图表说明:
(20)VM
①VM
虚拟报表:分页和虚拟内存报表、文件备份分页(kbyes/sec)报表、交换支持的活动(kbyes/sec)报表
②图表说明:
(21)ZZZZ
①ZZZZ
时间戳转换报表:本 sheet 自动转换所有 nmon 的时间戳为现在真实的时间,方便更容易的分析。
②图表说明
(22)CPU001
①CPU001
CPU001页面:可以看到 CPU 1 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
cpu00x 页面:这些页面可以看到各个 CPU 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
②图表说明:
(23)CPU002
①CPU002
CPU002页面:可以看到 CPU 2在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
cpu00x 页面:这些页面可以看到各个 CPU 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
②图表说明:
(24)CPU003
①CPU003
CPU003页面:可以看到 CPU 3在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
cpu00x 页面:这些页面可以看到各个 CPU 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
②图表说明:
(25)CPU004
①CPU004
CPU004页面:可以看到 CPU 4在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
cpu00x 页面:这些页面可以看到各个 CPU 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。
②图表说明: