【nmon】nmon :服务器性能结果报告分析 —— 报表参数详解

目录

一、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

服务器资源使用率汇总表:提供了系统的总体性能概览,显示当前服务器的总体性能情况。

  • 通过对 SYS_SUMM 表的解读,可以了解系统的总体性能情况,包括 CPU、内存、网络、磁盘等方面的使用情况,为进一步分析系统性能提供了基础数据。

其中包括以下几个方面的指标:

  1. CPU利用率:显示 CPU 的平均利用率和最大利用率。如果 CPU 利用率过高,可能会导致系统性能下降。

  2. 内存:显示系统内存的总量、已用量和空闲量,以及内存利用率。如果内存利用率过高,可能会导致系统出现内存不足的问题。(示例版本暂无此指标)

  3. 磁盘:显示磁盘的使用情况,包括磁盘总量、已用量和空闲量,以及磁盘利用率和 I/O 操作的数量。如果磁盘利用率过高,可能会导致系统出现磁盘性能瓶颈。

  4. 网络:显示网络的使用情况,包括网络带宽、发送和接收的数据量、以及网络利用率。如果网络利用率过高,可能会导致网络瓶颈和延迟增加。(示例版本暂无此指标)

  5. 其他:显示其他系统指标,如系统负载、进程数量、文件句柄数量等。

通过分析 SYS_SUMM 表中的这些指标,可以了解系统的总体性能情况,并找出潜在的性能问题。例如:

  • 如果 CPU 利用率过高,可以考虑优化程序代码或增加 CPU 资源
  • 如果 内存 利用率过高,可以考虑增加内存或优化程序内存使用
  • 如果 磁盘 利用率过高,可以考虑优化磁盘读写操作或增加磁盘容量
  • 如果 网络 利用率过高,可以考虑优化网络传输或增加带宽资源

② 图表说明 

【正上方】Samples、First、Last:采集点样本统计。 

  • Samples:采集点样本总数,折线图中出现的采集点统计总数。
  • First:第一个采集点的采集时间。
  • Last:最后一个采集点的采集时间。

【正中间】折线图

  • Hostname:主机名
  • Interval:nmon 采样的时间间隔
  • Date:nmon 采样的日期
  • Time:nmon 采样的时间
  • Elapsed:nmon 采样的总时间
  • [蓝线:CPU%] 为 cpu 占有率变化情况
  • [紫线:IO/sec] 为磁盘 IO 的变化情况:仅显示磁盘 IO/sec 的图,不包括 Network 的 I/O ,每秒钟输出到物理磁盘的传输次数

【左下角】Disk tps statistics:即 Disk,磁盘使用率的总体统计信息,包括读写速度、等待时间、错误率等。包括如下几个:

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_ALL,CPU 使用率的总体统计信息,包括用户态、内核态、等待 I/O、空闲等状态的 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 也较高,这时需关注是什么导致了过多的进程等待。

【示例版本缺失指标】内存、网络、其他

  1. MEM:这一列显示了系统内存的使用情况,包括总内存、已使用内存、空闲内存和缓存/缓冲区内存的使用情况。MEM: Total 和 MEM: Free 两个字段中,分别表示系统总内存和空闲内存的大小。

  2. PAGING:这一列显示了系统的分页情况,包括分页输入/输出的速率、分页文件的大小和使用情况。

  3. NET:这一列显示了网络的使用情况,包括网络接口的名称、传输速率、包的数量和错误的数量。NET: 以太网 和 NET: 无线网络 两个字段中,分别表示系统中以太网和无线网络的传输速率。

  4. NFS:这一列显示了 NFS(网络文件系统)的使用情况,包括 NFS 读写速率、请求的数量和错误的数量。

  5. FILE:这一列显示了文件系统的使用情况,包括文件读写速率、请求的数量和错误的数量。


(2)AAA

AAA

服务器基本信息表:显示当前服务器基本信息,关于操作系统以及 nmon 本身的一些信息。

②参数说明:

参数名称参数描述
progname进程名/执行文件名称
OS操作系统
boot time服务器启动时间
command命令
cpusCPU
date执行命令日期
disks磁盘
disks_per_line
host服务器主机名/被测主机名
interval监控取样间隔(秒)
max_disks最大磁盘
proc_stat_variablesproc-stat-变量
runname运行主机名称
snapshots采集点样本总数目
time执行开始时间戳
user执行命令用户名
version收集数据的 nmon 版本
x86_21
x86_22
x86_23
x86_24
x86_25
x86_26
x86_27
x86_28
analysernmon analyser 版本号
environment所用 excel 版本
parmsexcel 参数设定
settingsexcel 环境设置
Analysis time生成 excel 消耗时间

(3)PIVOTCHART

 ①PIVOTCHART 

数据透视图:这些参数被用来构建数据透视图。

所需的参数:Sheetname,PageField,rowfield,columnfield,DataField 和 xlfunction(总和,最小,平均,最大值)。

数据来源 TOP(可以查看指定进)。

②参数说明:

字段名称描述
Time执行开始时间戳
PID

进程号:

1、操作系统里指进程识别号,也就是进程标识符。

2、操作系统里每打开一个程序都会创建一个进程 ID,即 PID。

3、PID 是各进程的代号,每个进程有唯一的 PID 编号。

%CPUCPU使用的平均数
%Usr显示运行的用户程序所占用的CPU百分比
%Sys显示运行的系统程序所占用的CPU百分比
Size对于这个程序一次调用分配给数据段的paging  space平均值
ResSet
ResText
ResData
ShdLib标准库
MinorFault次要故障
MajorFault主要故障
Command命令名称
Threads被使用在这个程序中的线程数
IOwaitTime显示等待 IO 所花的时间
IntervalCPU%详细信息中显示在时间间隔中所有调用命令所使用的CPU总数占比,CPU利用率
WSet详细信息中显示在时间间隔中所有调用命令所使用的内存总数 

(4)BBBP

 BBBP

命令及输入结果表:vmtune,  schedtune, emstat 和 lsattr 等命令的输出信息。

②在linux执行命令及输出结果例子、BBBP列表图示:

③命令说明:

linux 执行命令命令描述点击前往查看命令详解
/etc/release系统安装时默认的发行版本信息
lsb_releaseLSB 和特定版本的一些信息百度经验:《怎么使用 lsb_release 来查看版本信息》
fdisk-l硬盘及分区信息【linux】linux命令:fdisk -l 显示信息详解
lsblkblock device,也就是逻辑磁盘大小

1、来源自 森几许 :《使用Linux的lsblk命令列出块设备信息》

2、Linux命令大全(手册):lsblk

lscpu此命令用来显示 cpu 的相关信息来源自 vinter_he《 lscpu 详解》
lshwlshw 查看所有硬件摘要信息Howtoing运维教程:《Linux lshw 命令教程》
/proc/cpuinfo

1、系统中 CPU 的提供商和相关配置信息

2、这个文件提供了有关系统CPU 的多种信息。

3、这些信息是从内核里对CPU 的测试代码中得到的。

4、文件列出 了CPU 的普通型号(386,486,586,686 等 ), 以及能得到的更多特定信息 ( 制造商, 型号和版本 ) 。

5、文件还包含了以 bogomips 表示的处理器速度, 而且如果检测到 CPU 的多种特性或者bug, 文件还会包含相应的标志。

6、这 个文件的格式为:文件由多行构成, 每行包括一个域名称, 一个冒号和一个值。 

1、来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》

2、来源自  cuker919《 /proc/cpuinfo 文件分析(查看 CPU 信息)》

3、来源自  VinoZhuLinux下/proc目录简介

/proc/meminfo

1、了解 Linux 系统内存使用状况的主要接口

2、这个文件给出了内存状态的信息 。

3、它显示出系统中空闲内存, 已用物理内存和交换内存的总量 。

4、它还显示出内核使用的共享内存和缓冲区总量。

5、这些信息的格式和 free 命令显示的结果类似。

1、来源自  stinger《Linux 系统下 /proc/meminfo 详解》

2、来源自  axw2013《/proc/meminfo 详解》

3、来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》

/proc/stat这个文件包含的信息有CPU 利用率, 磁盘, 内存页, 内存对换, 全部中断, 接触开关以及上次自启时间(自1970 年1 月1 日起的秒数 ) 。 

1、来源自 houzhizhen《 /proc/stat 解析》

2、来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》

/proc/version

1、系统内核版本。

2、这个文件只有一行内容, 说明正在运行的内核版本。

3、可以用标准的编程方法进行分析获得所需的系统信息 。

4、Linux查看当前操作系统版本信息。

来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》
/proc/net/dev

1、/proc/net 目录下的文件描述或修改了联网代码的行为。

2、dev 文件的功能:来自网络设备的统计  

来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》
/proc/diskinfo硬盘信息
/sbin/multipath查看路径状态、查看模块是否加载成功来源自 李栋94《Linux 下多路径 multipath 配置》
/dev/mapper

对应的磁盘信息

来源自 zgy666《找到 /dev/mapper 对应的磁盘信息》
/dev/dm-*根据自己的需要制定实现存储资源的管理策略,查看逻辑卷管理器

1、来源自 潇湘隐者《Linux 系统中的 Device Mapper 学习》

2、来源自 不才b_d《Linux 设备文件 /dev/* 详解、查询》

/dev/md*软raid设备来源自 jet_wong《Linux /dev 目录详解》
/dev/sd*SCSI设备来源自 jet_wong《Linux /dev 目录详解》
/proc/partitions分区信息来源自  richardysteven《通过 /proc/partitions 查看分区信息》
/proc/1/stat/proc/N中存储的则是系统当前正在运行的进程的相关信息,其中N为正在运行的进程来源自 cybertan《 PROC 系列之---/proc/pid/stat 》

/proc/net/rpc/nfs

1、/proc/net 目录下的文件描述或修改了联网代码的行为。

2、rpc 文件的功能:包含 RPC 信息的目录 rt_cache 

来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》
/proc/net/rpc/nfsd

1、/proc/net 目录下的文件描述或修改了联网代码的行为。

2、rpc 文件的功能:包含 RPC 信息的目录 rt_cache 

来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》
/proc/modules

1、这个文件给出可加载内核模块的信息 。

2、lsmod 程序用这些信息显示有关模块的名称, 大小, 使用数目方面的信息。 

1、来源自 Stoneshen1211《Linux 中 /proc 目录下文件详解》

2、来源自 zk47《[Linux 运维] /proc/modules 以及内核模块工具》

ifconfig用于显示或配置网络设备(网络接口卡)的命令来源自 xp9802:《linux 命令之 ifconfig 详细解释》
/bin/df-mdf 命令显示该文件或目录所在文件系统的信息,以 MB 块为单位显示统计信息。文件系统统计信息的输出值为浮点数形式,因为每个单元的字节数非常大。来源自:《df 命令》
/bin/mount通过查看 /etc/mtab 文件显示当前系统已挂载的所有设备来源自 daydayup654《Linux 中挂载详解以及 mount 命令用法》
/etc/fstab记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。

1、来源自 火星的小白《/etc/fstab 文件详解》

2、来源自 daydayup654《Linux 中挂载详解以及 mount 命令用法》

netstat -rnetstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。来源自 jizhiqing《netstat 命令详解》
uptimeuptime 查看系统启动 up 了(运行了)多长时间来源自 wuxiangping2017《 uptime 命令介绍》
getconf PAGESIZE

1、将系统配置变量值写入标准输出。

2、系统的默认参数,比如mkfs读取默认参数,并格式化,默认PAGESIZE是4096

来源自 xiaohuazi《 getconf 命令》

(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。

② 图表说明:

【列     表】Disk total KB/s nmonreport
Disk total KB/s nmonreport:执行间隔时间列表
Disk Read KB/s:每个磁盘执行采样数据(磁盘设备的读速率)
Disk Write KB/s:每个磁盘执行采样数据(磁盘设备的写速率)
IO/sec:每秒钟输出到物理磁盘的传输次数

【统计图1】Disk total KB/s nmonreportDisk Read KB/s、Disk Write KB/s、IO/sec 图形统计图
【统计图2】Disk total KB/s nmonreportDisk Read KB/s、Disk Write KB/s、IO/sec 对应的 Avg / WAvg / Max / Min 图形统计图

(6)CPU_ALL

CPU_ALL

CPU概述表:显示所有CPU平均占用情况,其中包含 SMT 状态,可以看到 CPU 整体上在每个监控点的数据。可以看到 CPU 整体上在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、CPU% 以及 CPUs(cpu个数)及对应图表。

② 图表说明:

【列   表】CPU Total nmonreport
CPU Total nmonreport:执行间隔时间列表
User%:显示在用户模式下执行的程序所使用的 CPU  百分比
Sys%:显示在内核模式下执行的程序所使用的 CPU  百分比
Wait%:显示等待 IO 所花的时间百分比
Idle%:显示 CPU 的空闲时间百分比
Steal%:
Busy:
CPUs:CPU
CPU%:CPU总体占用情况

【统计图】CPU Total nmonreportUser%、Sys%、Wait%、Idle%、Steal%、Busy 图形统计图

(7)CPU_SUMM

CPU_SUMM

CPU占用情况表:显示当前服务器所有CPU的利用率,当前服务器共有4个CPU(Core),每个CPU负载有所不同,显示每一个CPU在执行时间内的占用情况,其中包含user%、sys%、wait% 和 idle%。

②图表说明:

【列    表】
CPU_SUMM:CPU编号
User%:显示在用户模式下执行的程序所使用的 CPU  百分比
Sys%:显示在内核模式下执行的程序所使用的 CPU  百分比
Wait%:显示等待 IO 所花的时间百分比
Idle%:显示 CPU 的空闲时间百分比

【统计图】User%、Sys%、Wait% 图形统计图

(8)DISKBSIZE

DISKBSIZE

hdisk的磁盘块信息表:执行时间内每个hdisk的传输块大小,详细记录了各监控时间点每个hdisk的磁盘块的大小,如我的服务器包括了sda、sda1、sda2、sda3以及dm-0、dm-1、dm-2、dm-3(dm是device mapper(设备映射))以及对应的Avg、WAvg和Max计算值。

②图表说明:

【列     表】Disk Block Size nmonreport
Disk Block Size nmonreport:执行间隔时间列表
vda:vda磁盘传输速度时间间隔采样(读和写的总趋势图)
vda1:vda1磁盘传输速度时间间隔采样(读和写的总趋势图)

【统计图1】Disk Block Size nmonreportAvg.、WAvg.、Max.、Min. 图形统计图
【统计图2】Disk Block Size nmonreportvda、vda1 图形统计图

(9)DISKBUSY

DISKBUSY

hdisk设备平均占用情况表:每个hdisk设备平均占用情况,详细记录了各监控时间点每个hdisk繁忙情况,包括的点同DISKBSIZE页面。

②图表说明:

【列     表】Disk %Busy nmonreport
Disk %Busy nmonreport:执行间隔时间列表
vda:vda磁盘执行采样数据(磁盘设备的占用百分比)
vda1:vda1磁盘执行采样数据(磁盘设备的占用百分比)

【统计图1】Disk %Busy nmonreportAvg.、WAvg.、Max.、Min. 图形统计图
【统计图2】Disk %Busy nmonreportvda、vda1 图形统计图

(10)DISKREAD

DISKREAD

hdisk平均读情况表:每个hdisk的平均读情况,详细记录了各监控时间点每个hdisk每秒读的子节数,包括的点同DISKBSIZE页面。

②图表说明:

【列     表】Disk Read KB/s nmonreport
Disk Read KB/s nmonreport:执行间隔时间列表
vda:vda磁盘执行采样数据(磁盘设备的读速率)
vda1:vda1磁盘执行采样数据;(磁盘设备的读速率)

【统计图1】Disk Read KB/s nmonreportAvg.、WAvg.、Max.、Min. 图形统计图
【统计图2】Disk Read KB/s nmonreportvda、vda1 图形统计图

(11)DISKWRITE

DISKWRITE

hdisk平均写情况表:每个hdisk的平均写情况,详细记录了各监控时间点每个hdisk每秒写的子节数,包括的点同DISKBSIZE页面。

②图表说明:

【列     表】Disk Write KB/s nmonreport
Disk Write KB/s nmonreport:执行间隔时间列表
vda:vda磁盘执行采样数据(磁盘设备的写速率)
vda1:vda1磁盘执行采样数据;(磁盘设备的写速率)

【统计图1】Disk Write KB/s nmonreportAvg.、WAvg.、Max.、Min. 图形统计图
【统计图2】Disk Write KB/s nmonreportvda、vda1 图形统计图

(12)DISKXFER

DISKXFER

每秒磁盘传输数报表:每个 hdisk 的 I/O 每秒操作

②图表说明:

【列     表】Disk transfers per second nmonreport
Disk transfers per second nmonreport:执行间隔时间列表
vda:vda磁盘执行采样数据(磁盘设备的读速率)
vda1:vda1磁盘执行采样数据;(磁盘设备的读速率)

【统计图1】Disk transfers per second nmonreportAvg.、WAvg.、Max.、Min. 图形统计图
【统计图2】Disk transfers per second nmonreportvda、vda1 图形统计图

(13)JFSFILE

JFSFILE

已用 [主机名] 的 jfs 文件空间百分比报表:本 sheet 显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比。

(file  system/LV:文件系统以及mount磁盘设备已使用空间百分比)

②图表说明:

【列     表】JFS Filespace %Used [主机名]
JFS Filespace %Used [主机名]:执行间隔时间列表
/ :
/ :
/dev :
/run :

【统计图】JFS Filespace %Used [主机名]Avg.、WAvg.、Max.、Min. 图形统计图

(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)

②图表说明:

【列     表】Memory MB nmonreport
JMemory MB nmonreport:执行间隔时间列表

memtotal:内存总数

1、系统从加电开始到引导完成,BIOS等要保留一些内存,内核要保留一些内存,最后剩下可供系统支配的内存就是MemTotal。

2、这个值在系统运行期间一般是固定不变的。

3、所有可用 RAM 大小 (即物理内存减去一些预留位和内核的二进制代码大小)

hightotal:
lowtotal:低位可以达到高位内存一样的作用,而且它还能够被内核用来记录一些自己的数据结构。
swaptotal:虚拟总内存,交换空间的总大小

memfree:空闲内存数

1、表示系统尚未使用的内存。

2、MemUsed = MemTotal - MemFree 就是已被用掉的内存。

3、LowFree 与 HighFree 的总和,被系统留着未使用的内存

highfree:该区域不是直接映射到内核空间。内核必须使用不同的手法使用该段内存。
lowfree:低位可以达到高位内存一样的作用,而且它还能够被内核用来记录一些自己的数据结构。
swapfree:剩余虚拟内存,未被使用交换空间的大小
memshared:共享内存
cached:被高速缓冲存储器(cache memory)用的内存的大小(等于 diskcache minus SwapCache )

active:在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用

 Active = Active(anon) + Active(file)

bigfree:最大未被使用交换空间的大小
buffers:用来给文件做缓冲大小
swapcached:被高速缓冲存储器(cache memory)用的交换空间的大小已经被交换出来的内存,但仍然被存放在swapfile中。用来在需要的时候很快的被替换而不需要再次打开I/O端口。

inactive:在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径

Inactive = Inactive(anon) + Inactive(file)

【统计图1】Memory MB nmonreportmemfree 图形统计图
【统计图2】Memory MB nmonreportmemtotal 图形统计图

(15)NET

NET

网络数据传输速率(KB/s)报表:本 sheet 显示系统中每个网络适配器的数据传输速率(千字节/秒)

该页面包含了每个监控时间点各个网络适配器的读写等数据传输速率(千字节/秒),如服务器包括适配器有 eth0 和 lo。

read/write:显示系统中每个网络适配器的数据传输速率(千字节/秒)

②图表说明:

【列     表】Network I/O nmonreport (KB/s)
Network I/O nmonreport (KB/s):执行间隔时间列表

eth0-read:

lo-read:
eth0-write:
lo-write:
eth0-total:
lo-total:
Total-Read:
Total-Write (-ve):

【统计图1】Network I/O nmonreport (KB/s)Total-Read、Total-Write (-ve) 图形统计图
【统计图2】Network I/O nmonreport (KB/s)Avg.、WAvg.、Max.、Min. 图形统计图
【统计图3】Network I/O nmonreport (KB/s)eth0-read、eth0-write、lo-read、lo-write 图形统计图

(16)NETPACKET

NETPACKET

网络数据包统计报表:本 sheet 统计每个适配器网络读写包的数量;这个类似于netpmon  –O dd 命令

该页面包含了每个监控时间点各个网络适配器读写包的数量。

reads/s:统计每个适配器网络读包的数量
writes/s:统计每个适配器网络写包的数量

②图表说明:

【列     表】Network Packets nmonreport
Network Packets nmonreport:执行间隔时间列表

eth0-read/s:

eth0-write/s:
lo-read/s:
lo-write/s:

【统计图1】Network I/O nmonreport (KB/s)Avg.、WAvg.、Max.、Min. 图形统计图
【统计图2】Network I/O nmonreport (KB/s)eth0-read、eth0-write、lo-read、lo-write 图形统计图

(17)PROC

​​​​​​​PROC​​​​​​​

进程速率报表:本 sheet 包含 nmon 内核内部的统计信息。

其中 RunQueue 和 Swap-in 域是使用的平均时间间隔,其他项的单位是比率/秒。

rcvint:tty 接收中断的数量(同 sar  -y 中的 revin/s)
xmtint:tty 传输中断的数量(同 sar  -y 中的 xmtin/s)

②图表说明:

【列     表】Processes nmonreport
Processes nmonreport:执行间隔时间列表

RunQueue:运行队列中的内核线程平均数(同 sar  -q 中的 runq-sz)

Blocked:阻塞队列中的内核线程平均数
pswitch:上下文开关个数 (同 sar  -w 中的 pswch/s)
syscall:系统调用总数(同 sar  -c 中的 scall/s)
read:系统调用中 read 的数量(同 sar  -c 中的 sread/s)
write:系统调用中 write 的数量(同 sar  -c 中的 swrit/s)
fork:系统调用中 fork 的数量(同 sar  -c 中的 fork/s)
exec:系统调用中 exec 的数量(同 sar  -c 中的 exec/s)
sem:IPC 信号元的数量(创建、使用和消除)(同 sar -m 中的 sema/s)
msg:IPC 消息元的数量 (发送和接收)(同 sar -m 中的 sema/s)

【统计图1】Processes nmonreportRunQueue、Blocked 图形统计图
【统计图2】Processes nmonreportpswitch/sec、syscall/sec 图形统计图
【统计图3】Processes nmonreportforks/sec、execs/sec 图形统计图

(18) Sheet26

​​​​​​​Sheet26​​​​​​​

Sheet26 报表:进程详情列表

②参数说明:

【列     表】PID
PID:按全部或具体 PID 进行筛选

计数项:IntervalCPU%:

Commant:按命令名称进行筛选
Time:执行间隔时间列表 [是从“字段”勾选需要显示什么字段的]
java:
nmon:
sshd:
总计:

字段名称描述
Time执行开始时间戳
PID

进程号:

1、操作系统里指进程识别号,也就是进程标识符。

2、操作系统里每打开一个程序都会创建一个进程 ID,即 PID。

3、PID 是各进程的代号,每个进程有唯一的 PID 编号。

%CPUCPU使用的平均数
%Usr显示运行的用户程序所占用的CPU百分比
%Sys显示运行的系统程序所占用的CPU百分比
Size对于这个程序一次调用分配给数据段的paging  space平均值
ResSet
ResText
ResData
ShdLib标准库
MinorFault次要故障
MajorFault主要故障
Command命令名称
Threads被使用在这个程序中的线程数
IOwaitTime显示等待 IO 所花的时间
IntervalCPU%详细信息中显示在时间间隔中所有调用命令所使用的CPU总数占比,CPU利用率
WSet详细信息中显示在时间间隔中所有调用命令所使用的内存总数 

(19)TOP

​​​​​​​TOP​​​​​​​​​​​​​​

TOP报表:按命令截获CPU %报表、按命令截获内存(MBytes)、按命令截获 Charlo (MBytes)、PID进程率

CharIO:通过读写系统调用的每秒字节数
%RAM:此命令所使用的内存百分比  ((ResText + ResData) / Real Mem)
Paging:此进程所有page  faults的总数
WLMClass:此程序已分配的  Workload Manager superclass名称
User:运行进程的用户名
Arg:包含完整的参数字符串输入命令  

②图表说明:

【列     表】Time
Time:执行间隔时间列表

PID:进程号

%Usr:显示运行的用户程序所占用的CPU百分比
%Sys:显示运行的系统程序所占用的CPU百分比
Size:对于这个程序一次调用分配给数据段的paging  space平均值
ResSet:
ResText:对于这个程序一次调用分配给代码段的内存平均值 
ResData:对于这个程序一次调用分配给数据段的内存平均值
ShaLib:
MinorFault:
MajorFault:
Command:命令名称
Threads:被使用在这个程序中的线程数
IOwaitTime:
IntervalCPU%:详细信息中显示在时间间隔中所有调用命令所使用的CPU总数占比
WSet:详细信息中显示在时间间隔中所有调用命令所使用的内存总数

【统计图1】CPU% by command [主机名]Avg.、WAvg.、Max. 图形统计图
【统计图2】Memory by command(MBytes) [主机名]Min.、Avg.、Max. 图形统计图
【统计图3】Charlo by command(bytes/sec) [主机名]Avg.、WAvg.、Max. 图形统计图
【统计图4】%Process by PID [主机名]

(20)VM

​​​​​​​VM​​​​​​​​​​​​​​

虚拟报表:分页和虚拟内存报表、文件备份分页(kbyes/sec)报表、交换支持的活动(kbyes/sec)报表

②图表说明:

【列     表】Paging and Virtual Memory
Paging and Virtual Memory:执行间隔时间列表

nr_dirty:

nr_writeback:
nr_unstable:
nr_page_table_pages:
nr_mapped:
nr_slab:
pgpgin:
pgpgout:
pswpin:
pswpout:
pgfree:
pgactivate:
pgdeactivate:
pgfault:
pgmajfault:
pginodesteal:
slabs_scanned:
kswapd_steal:
kswapd_inodesteal:
pageoutrun:
allocstall:
pgrotated:
pgalloc_high:
pgalloc_normal:
pgalloc_dma:
pgrefill_high:
pgrefill_normal:
pgrefill_dma:
pgsteal_high:
pgsteal_normal:
pgsteal_dma:
pgscan_kswapd_high:
pgscan_kswapd_normal:
pgscan_kswapd_dma:
pgscan_direct_high:
pgscan_direct_normal:
pgscan_direct_dma:

【统计图1】File-backed paging (kByes/sec) [主机名]pgpgout 图形统计图
【统计图2】Swap-backed sctivity (kByes/sec) [主机名]pswpin、pswpout 图形统计图

(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%以及对应图表。

②图表说明:

【列     表】CPU 1 nmonreport
CPU 1 nmonreport:执行间隔时间列表

User%:

Sys%:
Wait%:
Idle%:
Steal%:
CPU%:

【统计图】CPU 1 nmonreportUser%、Sys%、Wait%、Idle%、Steal%  图形统计图

(23)CPU002

​​​​​​​CPU002

CPU002​​​​​​​ 页面:可以看到 CPU 2 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。

cpu00x 页面:这些页面可以看到各个 CPU 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。

②图表说明:

【列     表】CPU 2 nmonreport
CPU 2 nmonreport:执行间隔时间列表

User%:

Sys%:
Wait%:
Idle%:
Steal%:
CPU%:

【统计图】CPU 2 nmonreportUser%、Sys%、Wait%、Idle%、Steal%  图形统计图

(24)CPU003

​​​​​​​CPU003

CPU003​​​​​​​ 页面:可以看到 CPU 3 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。

cpu00x 页面:这些页面可以看到各个 CPU 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。

②图表说明:

【列     表】CPU 3 nmonreport
CPU 3 nmonreport:执行间隔时间列表

User%:

Sys%:
Wait%:
Idle%:
Steal%:
CPU%:

【统计图】CPU 3 nmonreportUser%、Sys%、Wait%、Idle%、Steal%  图形统计图

(25)CPU004

​​​​​​​CPU004

CPU004​​​​ 页面:可以看到 CPU 4 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。

cpu00x 页面:这些页面可以看到各个 CPU 在每个监控点的数据,包括User%、Sys%、Wait%、Idle%、Steal%、CPU%以及对应图表。

②图表说明:

【列     表】CPU 4 nmonreport
CPU 4 nmonreport:执行间隔时间列表

User%:

Sys%:
Wait%:
Idle%:
Steal%:
CPU%:

【统计图】CPU 4 nmonreportUser%、Sys%、Wait%、Idle%、Steal%  图形统计图

Python nmon是通过在服务器上运行NMON来监控系统资源使用情况并将数据生成到.nmon文件中的一种方法。 NMON是一款免费的系统监视、性能测试分析及调优工具,可以提供关于系统及资源使用情况的性能指标信息,如CPU、内存、网络、磁盘IO等。常用的nmon使用方法是通过在终端中运行nmon命令来开启监控,并将采集到的数据保存到.nmon文件中。然后,可以使用Python脚本来解析这些.nmon文件并获取所关注的性能指标数据。通过读取.nmon文件的文本内容,并使用正则匹配的方法来定位和提取所需的数据。一旦数据被提取出来,可以进一步处理和分析,例如将数据写入HTML报告中进行展示。这种方法相对于使用nmon_analyser.xlsm工具来分析.nmon文件更适用于性能自动化或自动化运维监控任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [python 将nmon文件解析成带图的excel](https://blog.csdn.net/qq_42631707/article/details/106022205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python分析nmon并获取性能指标数据的姿势是这样的](https://blog.csdn.net/weixin_34297300/article/details/91582934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾三殇

觉得不错的话,打赏鼓励一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值