linux下使用nmon工具对服务器性能进行检测

时间:2023-03-08 15:48:53

1、nmon工具介绍:

nmon工具是linux系统下可以对服务器及系统性能进行监测,CPU信息、CPU占用、内存使用、网卡使用等。最大的好处是此工具会将结果以列表的形式或者是模拟图形化的方式展示,不需要从繁琐的数据结果中抠字眼。nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式 (.csv)。

linux下使用nmon工具对服务器性能进行检测

linux下使用nmon工具对服务器性能进行检测

2、安装nmon:

将nmon4aix_11e.tar.gz放入linux系统某目录下,如:/opt下

 [root@localhost opt]# tar –xvzf nmon4aix_11e.tar.gz                    --解压缩压缩文件
[root@localhost opt]# cd nmon4aix_11e --进入nmon目录
[root@localhost nmon4aix_11e]# ./configure –prefix=/usr/local/nmon --预编译工具程序
[root@localhost nmon4aix_11e]# make&make install --链接程序及安装

到此安装完毕

3、使用方法:

打开nmon,直接./nmon_x86_rhel52即可

linux下使用nmon工具对服务器性能进行检测

以上界面,可以看到,按对应的按键查看相应的信息。

q : 停止并退出Nmon

h : 查看帮助信息

c : 查看 CPU 统计信息

m : 查看内存统计信息

d : 查看磁盘统计信息

k : 查看内核统计信息

n : 查看网络统计信息

N : 查看 NFS 统计信息

j : 查看文件系统统计信息

t : 查看 Top 进程统计信息

V : 查看虚拟内存统计信息

v : 详细输出模式

例如:

如果你想查看 CPU 性能信息,可以直接按 c 键:

linux下使用nmon工具对服务器性能进行检测

如果你想查看 Top 进程统计信息,可以直接按 t 键:

linux下使用nmon工具对服务器性能进行检测

4、NMON后台监控系统性能并生成报表

数据采集:

运行带 -f 标志的 nmon 命令。有关详细信息,请参阅 nmon -h。但是作为示例,可以尝试运行下面的 nmon 命令来,告知 nmon 创建文件,并每隔 30 秒的时间进行一次数据收集,共采集 180 次(共计 1.5 个小时):

nmon -f -s 10 -c 60

-f 表示生成的数据文件名中有时间;

-s 10 表示每 10 秒采集一次数据;

-c 60 表示采集 60 次,10*60=600 秒,

刚好是 10分钟的数据,这样运行一次这个程序就会生成一个采集 10分钟数据的文件。该行命令将在当前目录中创建输出文件,其名称为:<hostname>_date_time.nmon", hostname" 是这台主机的主机名。

例如:

 [root@localhost source]# hostname
linux_test
[root@localhost source]# ./nmon -f -s -c
[root@localhost source]# ps -ef | grep nmon
root : pts/ :: ./nmon -f -s -c
root : pts/ :: grep nmon
[root@localhost source]# ls linux_test_120724_0822.nmon
linux_test_120724_0822.nmon

当我们执行相关命令后,就在当前目录生成了一个以本主机名linux_test开头,以执行日期为规则,nmon结尾的文件,并且我们通过ps命令会看到相关的nmon进程,这里我们当10分钟过去以后我们会发现相关nmon进程会消失的。

linux_test_120724_0822.nmon 就是我们所生成的数据文件,所有的信息都在linux_test_120724_0822.nmon记录,而且我们通过more命令后发现都是我们看不懂的一些文本,这就需要我们把其转化成我们能看懂的excel格式的文件。首先我们把linux_test_120724_0822.nmon文件导出到我们的windows本地。然后我们从http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser下载nmonanalyser软件到windows本地。打开解压缩文件后,我们会发现2个文件,一个是nmonanalyse的说明word格式的说明稳定,另一个是excel格式的nmonanalyse文件。

我们这里所需要的就是excel格式问文件,我们双击打开。

linux下使用nmon工具对服务器性能进行检测

linux下使用nmon工具对服务器性能进行检测

点解按钮导入文本结果即可。

以下是效果的展示:

linux下使用nmon工具对服务器性能进行检测

linux下使用nmon工具对服务器性能进行检测

附录:nmon分析文件各sheet含义

sheet名称

sheet含义

SYS_SUMM

系统汇总,蓝线为cpu占有率变化情况,粉线为磁盘IO的变化情况;

AAA

关于操作系统以及nmon本身的一些信息;

BBBB

系统外挂存储容量以及存储类型;

BBBC

系统外挂存储位置、状态以及描述信息;

BBBD

磁盘适配器信息;(包含磁盘适配器名称以及描述)

BBBE

包含通过lsdev命令获取的系统设备及其特征,显示vpaths和hdisks之间的映射关系;

BBBG

显示磁盘组详细的映射关系;

BBBL

逻辑分区(LPAR)配置细节信息;

BBBN

网络适配器信息;

BBBP

vmtune, schedtune, emstat和lsattr命令的输出信息;

CPUnn

显示执行之间内CPU占用情况,其中包含user%、sys%、wait%和idle%;

CPU_ALL

所有CPU概述,显示所有CPU平均占用情况,其中包含SMT状态;

CPU_SUMM

每一个CPU在执行时间内的占用情况,其中包含user%、sys%、wait%和idle%;

DGBUSY

磁盘组每个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操作;

EMCBSIZE/FAStBSIZE

执行时间内EMC存储的传输块大小;

EMCBUSY/FAStBUSY

EMC存储设备平均占用情况;

EMCREAD/FAStREAD

EMC存储的平均读情况;

EMCWRITE/FAStWRITE

EMC存储的平均写情况;

EMCXFER/FAStXFER

 

EMCSERV/FAStSERV

 

ESSBSIZE

本sheet记录在系统中每个vpaths下读写操作的平均数据传输大小 (blocksize) Kbytes

ESSBUSY

本sheet记录使用ESS系统的每个vpaths下的设备繁忙情况

ESSREAD

本sheet记录在系统中每个vpaths下读取操作的 data rate (Kbytes/sec)

ESSWRITE

本sheet记录在系统中每个vpaths下写入操作的 data rate (Kbytes/sec)

ESSXFER

本sheet记录在系统中每个vpaths下每秒的IO操作

ESSSERV

本sheet显示在每个收集间隔中vpaths的评估服务时间(未响应时间)

FILE

本sheet包含nmon内核内部的统计信息的一个子集,跟sar报告的值相同

FRCA

 

IOADAPT

对于BBBCsheet每个IO适配器列表,包含了数据传输速度为读取和写入操作(千字节/秒)和I / O操作执行的总数量

JFSFILE

本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的空间百分比

JFSINODE

本sheet显示对于每一个文件系统中,在每个间隔区间正在被使用的inode百分比

LARGEPAGE

本图表显示Usedpages和Freepages随着时间的变化

LPAR

 

MEM

本sheet主图上显示空闲实存的数量

MEMUSE

除 %comp参数外,本sheet包含的所有项都和vmtune命令的报告中一样

MEMNEW

本sheet显示分配的内存片信息,分三大类:用户进程使用页,文件系统缓存,系统内核使用页

NET

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

NETPACKET

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

NFS sheets

 

PAGE

本sheet统计相关页信息的记录

PROC

本sheet包含nmon内核内部的统计信息。其中RunQueue和Swap-in域是使用的平均时间间隔,其他项的单位是比率/秒

PROCAIO

本sheet包含关于可用的和active的异步IO进程数量信息.

TOP

 

UARG

 

WLM sheets

 

ZZZZ

本sheet自动转换所有nmon的时间戳为现在真实的时间,方便更容易的分析

nmon分析文件详细指标详解

指标类型

指标名称

指标含义

SYS_SUMM

CPU%

cpu占有率变化情况;

IO/sec

IO的变化情况;

AAA

AIX

AIX版本号;

build

build版本号;

command

执行命令;

cpus

CPU数量;

date

执行日期;

disks_per_line

 

hardware

被测主机处理器技术;

host

被测主机名;

interval

监控取样间隔;(秒)

kernel

被测主机内核信息;

ML

维护等级;

progname

执行文件名称;

runname

运行主机名称;

snapshots

实际快照次数;

subversion

nmon版本详情;

time

执行开始时间戳;

user

执行命令用户名;

version

收集数据的nmon版本;

analyser

nmon analyser版本号;

environment

所用excel版本;

parms

excel参数设定;

settings

excel环境设置;

elapsed

生成excel消耗时间;

BBBB

name

存储磁盘名称;

size(GB)

磁盘容量;

disc attach type

磁盘类型;

BBBC

hdisknn

各个磁盘信息、状态以及MOUNT位置;

BBBD

Adapter_number

磁盘适配器编号;

Name

磁盘适配器名称;

Disks

磁盘适配器数量;

Description

磁盘适配器描述;

BBBE

   

BBBG

   

BBBL

   

BBBN

NetworkName

网络名称;

MTU

网络上传送的最大数据包,单位是字节;

Mbits

带宽;

Name

名称;

BBBP

 

vmtune, schedtune, emstat 和 lsattr命令的输出信息;

CPUnn

CPU nn

执行间隔时间列表;

User%

显示在用户模式下执行的程序所使用的 CPU 百分比;

Sys%

显示在内核模式下执行的程序所使用的 CPU 百分比;

Wait%

显示等待 IO 所花的时间百分比;

Idle%

显示 CPU 的空闲时间百分比;

CPU%

CPU总体占用情况;

CPU_ALL

CPU nn

执行间隔时间列表;

User%

显示在用户模式下执行的程序所使用的 CPU 百分比;

Sys%

显示在内核模式下执行的程序所使用的 CPU 百分比;

Wait%

显示等待 IO 所花的时间百分比;

Idle%

显示 CPU 的空闲时间百分比;

CPU%

CPU总体占用情况;

Logical CPUs (SMT=on)

 

CPU_SUMM

CPU_SUMM

CPU编号;

User%

显示在用户模式下执行的程序所使用的 CPU 百分比;

Sys%

显示在内核模式下执行的程序所使用的 CPU 百分比;

Wait%

显示等待 IO 所花的时间百分比;

Idle%

显示 CPU 的空闲时间百分比;

DGBUSY

   

DGREAD

   

DGSIZE

   

DGWRITE

   

DGXFER

   

DISKBSIZE

Disk Block Size Hostname

执行间隔时间列表;

hdisknn

磁盘传输速度时间间隔采样;(读和写的总趋势图)

DISKBUSY

Disk %Busy Hostname

执行间隔时间列表;

hdisknn

每个磁盘执行采样数据;(磁盘设备的占用百分比)

DISKREAD

Disk Read kb/s Hostname

执行间隔时间列表;

hdisknn

每个磁盘执行采样数据;(磁盘设备的读速率)

DISKWRITE

Disk Write kb/s Hostname

执行间隔时间列表;

hdisknn

每个磁盘执行采样数据;(磁盘设备的写速率)

DISKXFER

Disk transfers per second Hostname

执行间隔时间列表;

hdisknn

每秒钟输出到物理磁盘的传输次数;

DISKSERV

   

DISK_SUMM

Disk total kb/s Hostname

执行间隔时间列表;

Disk Read kb/s

每个磁盘执行采样数据;(磁盘设备的读速率)

Disk Write kb/s

每个磁盘执行采样数据;(磁盘设备的写速率)

IO/sec

每秒钟输出到物理磁盘的传输次数;

EMCBSIZE/FAStBSIZE

   

EMCBUSY/FAStBUSY

   

EMCREAD/FAStREAD

   

EMCWRITE/FAStWRITE

   

EMCXFER/FAStXFER

   

EMCSERV/FAStSERV

   

ESSBSIZE

   

ESSBUSY

   

ESSREAD

   

ESSWRITE

   

ESSXFER

   

ESSSERV

   

FILE

iget

在监控期间每秒钟到节点查找例行程序的呼叫数

namei

在监控期间每秒钟路径查找例行程序的呼叫数(sar -a ).

dirblk

在监控期间通过目录搜索例行程序每秒钟扫描到的目录块数
(sar -a)

readch

在监控期间通过读系统呼叫每秒钟读出的字节数(sar -c)

writech

在监控期间通过写系统呼叫每秒钟写入的字节数(sar -c)

ttyrawch

在监控期间通过TTYs每秒钟读入的裸字节数(sar -y ).

ttycanch

终端输入队列字符 . 对于aix Version 4或者更后的版本这个值总是0

ttyoutch

终端输出队列字符. (sar -y ).

FRCA

   

IOADAPT

Disk Adapter Hostname(KB/s)

执行间隔时间列表;

Disk Adapter_read

磁盘适配器读速率;

Disk Adapter_write

磁盘适配器写速率;

Disk Adapter_xfer-tps

磁盘适配器传输速率;(该物理磁盘每秒的 IO 传输请求数量)

JFSFILE

JFS Filespace %Used Hostname

执行间隔时间列表;

file system/LV

文件系统以及mount磁盘设备已使用空间百分比;

JFSINODE

JFS Inode %Used Hostname

执行间隔时间列表;

file system/LV

文件系统以及mount磁盘设备的inode已使用空间百分比;

LARGEPAGE

   

LPAR

   

MEM

Memory Hostname

执行间隔时间列表;

Real Free %

实际剩余内存百分比;

Virtual free %

虚拟剩余内存百分比;

Real free(MB)

实际剩余内存大小;(MB)

Virtual free(MB)

虚拟剩余内存大小;(MB)

Real total(MB)

实际内存总体大小;(MB)

Virtual total(MB)

虚拟内存总体大小;(MB)

MEMUSE

%numperm

分配给文件页的实际内存百分比

%minperm

mixperm的缺省值约为20%的物理内存.通常会不断的运行,除非vmtune或rmss命令中使用收集

%maxperm

maxperm的缺省值约为80%的物理内存. 通常会不断的运行,除非vmtune或rmss命令中使用收集

minfree

空闲页面数的最小值

maxfree

空闲页面数的最大值
指定的vmtune命令或系统默认

%comp

分配给计算页的内存百分比,NMON分析器计算这个值 计算页是可被 page space支持的,包括存储和程序文本段
他们不包括数据,可执行的和共享的库文件

MEMNEW

Process%

分配给用户进程的内存百分比

FSCache%

分配给文件系统缓存的内存百分比

System%

系统程序使用的内存百分比

Free%

未被分配的内存百分比

User%

非系统程序使用的内存百分比

NET

read/write

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

NETPACKET

reads/s

统计每个适配器网络读包的数量

writes/s

统计每个适配器网络写包的数量

NFS sheets

   

PAGE

faults

每秒的page faults数

pgin

每秒钟所读入的页数,包括从文件系统读取的页数

pgout

每秒钟所写出的页数,包括写到文件系统的页数

pgsin

每秒钟从页面空间所读取的页数

pgsout

每秒钟写到页面空间的页数

reclaims

从nmon回收这项之前的10个,和vmstat报告的值是一样的,代表了页替换机制释放的pages/sec的数量

scans

扫描页替换机制的pages/sec的数量,和vmstat报告的值是一样的,页替换在空闲页数量到达最小值时初始化,在空闲到达最大值时停止

cycles

周期 times/sec的数值,页替换机制需要扫描整个页表,来补充空闲列表。这和vmstat报告的cy数值一样,只是vmstat报告的这个值是整形值,而nmon报告的是实型值

fsin

分析器计算的数据为pgin-pgsin的图形处理所用

fsout

分析器计算的数据为pgout-pgsout的图形处理所用

sr/fr

分析器计算的数据为scans/reclaims的图形处理所用

PROC

RunQueue

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

Swap-in

等待page in的内核线程平均数 (同sar -q中的swpq-sz)

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)

rcvint

tty接收中断的数量. (同sar -y中的 revin/s)

xmtint

tty传输中断的数量. (同sar -y中的 xmtin/s)

sem

IPC信号元的数量 创建,使用和消除). (同sar -m中的 sema/s)

msg

IPC消息元的数量 (发送和接收). (同sar -m中的 sema/s)

PROCAIO

   

TOP

PID

进程号

%CPU

CPU使用的平均数

%Usr

显示运行的用户程序所占用的CPU百分比

%Sys

显示运行的系统程序所占用的CPU百分比

Threads

被使用在这个程序中的线程数

Size

对于这个程序一次调用分配给数据段的paging space平均值

ResText

对于这个程序一次调用分配给代码段的内存平均值

ResData

对于这个程序一次调用分配给数据段的内存平均值

CharIO

通过读写系统调用的每秒字节数

%RAM

此命令所使用的内存百分比
((ResText + ResData) / Real Mem)

Paging

此进程所有page faults的总数

Command

命令名称

WLMClass

此程序已分配的 Workload Manager superclass名称

IntervalCPU

详细信息中显示在时间间隔中所有调用命令所使用的CPU总数

WSet

详细信息中显示在时间间隔中所有调用命令所使用的内存总数

User

运行进程的用户名

Arg

包含完整的参数字符串输入命令

UARG

   

WLM sheets

   

ZZZZ

   
     

nmon关键指标列表

关键指标类型

关键指标名称

关键指标含义

SYS_SUMM

CPU%

cpu占有率变化情况;

IO/sec

IO的变化情况;

AAA

AIX

AIX版本号;

cpus

CPU数量;

hardware

被测主机处理器技术;

host

被测主机名;

interval

监控取样间隔;(秒)

kernel

被测主机内核信息;

CPU_ALL

User%

显示在用户模式下执行的程序所使用的 CPU 百分比;

Sys%

显示在内核模式下执行的程序所使用的 CPU 百分比;

Wait%

显示等待 IO 所花的时间百分比;

Idle%

显示 CPU 的空闲时间百分比;

CPU%

CPU总体占用情况;

DISKBUSY

Disk %Busy Hostname

执行间隔时间列表;

hdisknn

每个磁盘执行采样数据;(磁盘设备的占用百分比)

DISK_SUMM

Disk total kb/s Hostname

执行间隔时间列表;

Disk Read kb/s

每个磁盘执行采样数据;(磁盘设备的读速率)

Disk Write kb/s

每个磁盘执行采样数据;(磁盘设备的写速率)

IO/sec

每秒钟输出到物理磁盘的传输次数;

NET

read/write

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

JFSFILE

JFS Filespace %Used Hostname

执行间隔时间列表;

file system/LV

文件系统以及mount磁盘设备已使用空间百分比;

JFSINODE

JFS Inode %Used Hostname

执行间隔时间列表;

file system/LV

文件系统以及mount磁盘设备的inode已使用空间百分比;

MEM

Memory Hostname

执行间隔时间列表;

Real Free %

实际剩余内存百分比;

Virtual free %

虚拟剩余内存百分比;

Real free(MB)

实际剩余内存大小;(MB)

Virtual free(MB)

虚拟剩余内存大小;(MB)

Real total(MB)

实际内存总体大小;(MB)

Virtual total(MB)

虚拟内存总体大小;(MB)

PAGE

faults

每秒的page faults(页错误)数;

pgin

每秒钟所读入的页数,包括从文件系统读取的页数

pgout

每秒钟所写出的页数,包括写到文件系统的页数

pgsin

每秒钟从页面空间所读取的页数

pgsout

每秒钟写到页面空间的页数

reclaims

从nmon回收这项之前的10个,和vmstat报告的值是一样的,代表了页替换机制释放的pages/sec的数量

scans

扫描页替换机制的pages/sec的数量,和vmstat报告的值是一样的,页替换在空闲页数量到达最小值时初始化,在空闲到达最大值时停止

cycles

周期 times/sec的数值,页替换机制需要扫描整个页表,来补充空闲列表。这和vmstat报告的cy数值一样,只是vmstat报告的这个值是整形值,而nmon报告的是实型值

fsin

分析器计算的数据为pgin-pgsin的图形处理所用

fsout

分析器计算的数据为pgout-pgsout的图形处理所用

sr/fr

分析器计算的数据为scans/reclaims的图形处理所用