一 、nmon部署安装:
部署编译好的可执行程序
1.先查看需要部署的服务器系统版本。
cat /etc/system-release
#Red Hat Enterprise Linux Server release 6.5 (Santiago)
2.根据系统版本选择对应的nmon版本,上传到服务器中。
3.在使用nmon工具之前应先先查看nmon工具的可执行权限,若权限不够可以使用chmod命令进行修改。
chmod 777 nmon工具包名称
4.执行./nmon_xx_xx_ubntu(nmon工具名称)启动nmon,如果nmon的版本与linux操作系统不对应,会报如下错误:
bash: ./nmon_x86_64_ubuntu7: cannot execute binary file: Exec format error。
如果出现NMON界面,说明部署成功。
二、nmon执行:
1.执行命令: ./nmon -f -s 30 –c 100 -m /home/app/
# 参数说明
-f 监控结果以文件形式输出,默认机器名+日期.nmon格式
-F 指定输出的文件名,比如test.nmon
-s 指的是采样的频率,单位为秒
-c 指的是采样的次数,即以上面的采样频率采集多少次
-m 指定生成的文件目录
要查看该进程是否仍在运行,可以输入:
ps -ef | grep nmon
三、nmon结果分析-Nmon Analyser工具使用:
1.监控命令执行后,会在指定目录下生成一个nmon文件,采集结束后,下载nmon文件到本地即可,通过ftp方式下载文件或者sz xxxx.nmon(nmon文件名)。
2.将nmom数据文件下载到本地后,使用nmon analyzer 文件打开。
3.首先将nmon analyser v339.xls文件打开,然后点击启用宏。
4.点击Analyse nmon data,选择下载到本地的数据采样nmon文件,打开后,可以看到nmon文件中各个指标的图表信息。
注:
1、 资源方面我们主要关注服务器CPU,内存,网络和磁盘情况。
2、 cpu方面我们需要关注CPU_ALL页,User%和Sys%。
3、 内存方面我们需要关注MEM页。
4、网络方面我们需要关注NET页,Total-Read和Total-Write。
附:nmon分析文件打开后有多个sheet页,下面是详细指标详解:
|
指标类型 |
指标名称 |
指标含义 |
|
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 |
本文介绍了Linux服务器监控工具nmon的部署、执行及结果分析。通过nmon进行性能测试,包括查看系统版本,选择合适的nmon版本,设置执行权限,以及解析监控数据,重点关注CPU、内存、网络和磁盘性能。
1158

被折叠的 条评论
为什么被折叠?



