资源描述
Centos 6.5 安装测试使用
1. 目的
1.1 目的
本文介绍操作系统监控工具Nmon的概念、使用方式及使用参数。指导运维人员通过nmon工具监视AIX/Linux操作系统资源使用情况,收集监控结果及产生的数据文件,制作相关系统性能分析报告
1.2 Nmon介绍
Nmon (Nigel’s Monitor)是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具(nmon analyser)进行数据的统计分析
Nmon工具和nmonanalyser工具都可以在nmon官网下载到
1.3 软件特性
Nmon 工具可以在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它不会消耗大量的 CPU 周期,通常低于百分之二(在更新的计算机上,其 CPU 使用率将低于百分之一)。 nmon使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。用户可以很容易地将这个时间间隔更改为更长或更短的时间段。如果拉伸窗口,并在 X Windows、VNC、PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。
nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式 (.csv)。
目前nmon已开源,以sourceforge为根据地,网址是。
1.4 软件组成
Nmon使用需要nmon工具和nmonanalyser分析程序两者配合使用。nmon工具生成性能数据文件,然后monanalyser以nmon生成的数据文件作为输入,输出为Excel 电子表格,并自动地生成相应的图形,使得我们能够直观地观察OS性能(CPU、IO和内存等)的变化过程。
1.5 软件功能
nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:
Ø CPU 使用率
Ø 内存使用情况
Ø 内核统计信息和运行队列信息
Ø 磁盘 I/O 速度、传输和读/写比率
Ø 文件系统中的可用空间
Ø 磁盘适配器
Ø 网络 I/O 速度、传输和读/写比率
Ø 页面空间和页面速度
Ø CPU 和 AIX 规范
Ø 消耗资源最多的进程
Ø IBM HTTP Web 缓存
Ø 用户自定义的磁盘组
Ø 计算机详细信息和资源
Ø 异步 I/O,仅适用于 AIX
Ø 工作负载管理器 (WLM),仅适用于 AIX
Ø IBM TotalStorage® Enterprise Storage Server® (ESS) 磁盘,仅适用于 AIX
Ø 网络文件系统 (NFS)
Ø 动态 LPAR (DLPAR) 更改,仅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower
2. Nmon使用操作
2.1 安装
1.使用root登录、新增一个目录文件夹
[root@tmp_01 /]# mkdir /nmon
2.使用ftp工具上传到 /nmon目录下
修改tar包权限、并解压文件:
[root@tmp_01 nmon]# chmod +x nmon_linux_14g.tar.gz 或775
[root@tmp_01 nmon]# tar -zvxf nmon_linux_14g.tar.gz
执行授权命令:
[root@tmp_01 nmon]# chmod +x nmon_x86_64_rhel54
2.2 软件界面
1.使用root登录、新
1.运行软件:
[root@tmp_01 nmon]# ./nmon_x86_64_rhel54
2.按c查看系统cpu使用情况
3.按m查看系统内存使用情况
4.按d查看磁盘I/O情况
5.按h查看帮助信息
2.3 使用方法
Ø 实时监控
在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相 关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键 “H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。
该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据均是实时刷新,一目了然。
Ø 后台监控
为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来,这时可以使用命令在远程窗口执行命令:
[root@tmp_01 nmon]# ./nmon_x86_64_rhel54 -f -N -m /nmon/log -s 30 -c 120
其中参数解释:
-f 生成的数据文件名中包含文件创建的时间:<hostname>_YYYYMMDD_HHMM.nmon
-N include NFS sections
-m 生成的数据文件的存放目录
-s 每隔n秒采集一次数据,这里为30
-c 采集多少次,这里为120,即监控=120*(30/60/60)=1小时
根据小时计算这个数字的公式为:c=h*3600/s,比如要监控10小时,每隔30秒采样一次,则c=10*3600/30=1200
该命令启动后,会在nmon所在目录下生成监控文件,并持续写入资源数据,直至360个监控点收集完成——即监控1小时,这些操作均自动完成,无需手工干 预,测试人员可以继续完成其他操作。如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。
一般情况下CPU利用率里User%应占70%左右,Sys%应占30%左右,如果Sys%或Wait%占比等于或超过了User%
则应该关注是什么引起了过多的系统消耗,可能是大量的Disk或Network I/O。
nmon -s30 -c1440*2 -f -m /root/nmon 一天
nmon -s60 -c720 -f -m /root/nmon 半天
2.4 定时任务
除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控实现如下:
1.执行命令:[root@tmp_01 nmon]# crontab –e
在最后一行添加如下命令:
0 8 * * 1,2,3,4,5 /nmon/nmon_x86_rhel5 -f -N -m /nmon/log -s 30 -c 1200
表示:
周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log
…
or-pk
2.自动按天采集数据:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1
表示:
300*288=86400 秒,正好是一天的数据。
3. Nmon监控结果操作
3.1 生成结果文件
通过nmon analyser.xls工具可以把监控的结果文件转换成excel文件,方便分析系统的各项资源占用情况。
1.打开nmon analyser.xls工具
2.调整excel宏安全性:工具-宏-安全性
3.<修改安全级别与可靠发行商>
(选择)安全级别:低
(勾上)信任所有安装的加载项和模板
(勾上)信任对于“Visual Baisc项目”的访问
4.修改完后,确定-关闭nmon analyser.xls,重新打开;
5.点击Analysenmon data按钮,加载之前下载的test1_090308_1313.csv文件。
Ø 分析结果中有很多数据和图形,简要介绍主要的性能参数图像
1.系统汇总(对应excel标签的‘SYS_SUMM’)
蓝线为cpu占有率变化情况;
粉线为磁盘IO的变化情况;
2.磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)
蓝色为磁盘读的速率KB/sec
紫色为磁盘写的速率KB/sec
3.内存情况汇总(对应excel标签的‘MEM’)
曲线表示内存剩余量(MB)
分析数据得到的报告文件(.xls)中包含很多性能分析结果数据,根据自己的需要查看。
analyser生成结果介绍
3.2 主要参数介绍
Ø 系统汇总(对应excel标签的‘SYS_SUMM’):其中蓝线为cpu占有率变化情况;粉线为磁盘IO的变化情况。
Ø 磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’): 其中蓝色为磁盘读的速率KB/sec;紫色为磁盘写的速率KB/sec。
Ø 内存情况汇总(对应excel标签的‘MEM’): 曲线表示内存剩余量(MB)
3.3 页面介绍
简单介绍生成结果的各个页面:
1) 系统汇总页面:对应标签页(SYS_SUMM)
页面显示项主要有主机名,执行日期,系统cpu使用情况(蓝线),系统I/O情况(粉红线),其中坐标左纵轴为系统cpu(user%+sys%)使用率,横轴为运行时长(下图为一个小时),右纵轴为系统磁盘传输(Disk xfers),坐标下侧为统计信息:系统I/O情况(一个周期内的平均值、最大值、出现最大值的时间),系统CPU使用情况。
选项
说明
备注
User%
用户进程时间在CPU 开销时间百分比
如果一个CPU 被充分使用,利用率分类之间均衡的比例应该是:
65% - 70% User Time
30% - 35% System Time
0% - 5% Idle Time
Wait%
所有进程线程被阻塞等待完成一次IO 请求所占CPU 开销idle的时间百分比
Sys%
线程和中断在CPU 开销时间百分比
Idle%
CPU 空闲时间的百分比
CPU%
CPU 利用率的百分比
Ø 注释:如果系统CPU有IO wait存在,说明可能IO或内存方面存在瓶颈,其中主要导致IO Wait的主要原因如下:
n 内存不够而引起频繁的的数据交换,导致数据存取存在交换空间的 I/O瓶颈
n 硬盘数据分布不合理
2) 系统信息:标签页(AAA)
3) 系统详细信息:标签页(BBBP)
页面信息主要包括:操作系统版本,主机磁盘信息,主机CPU型号、主频信息,内存信息,网卡信息等。
4) CPU使用情况:标签页(CPU_ALL,CPU_SUMM,CPU001,CPU002,CPU003,CPU004)
主机CPU使用情况汇总以及单颗CPU的运行情况。
5) 磁盘读写情况汇总:标签页(DISK_SUMM,DISKBSIZE,DISKBUSY,DISKREAD,DISKWRITE,DISKXFER)
磁盘的读、写及I/O统计信息,系统各磁盘分区的读写情况。其中DISKBUSY页主要反映系统本地磁盘使用,DISK_SUMM包括本地和存储(ESS, EMC, FASt及HDS)上所有磁盘使用情况。
6) 内存使用情况:标签页(MEM)
系统内存空闲、使用,swap、cached等统计信息。
7) 系统网络情况:标签页(NET,NETPACKET)
反映系统的网络运行情况,系统各个网络适配器读写的数据包数
8) 系统进程:标签页(PROC)
反映系统运行线程及等待切换的线程平均数。其中RunQueue - 每个处理器应该运行队列不超过1-3个线程。
9) 活动虚拟内存总量:标签页(VM)
Linux操作系统特有指标,主要包括系统/proc/vmstat文件中信息,两张图片主要显示系统分页文件(pagefile)和swap分区运行情况。如果系统总是存在大量换出页(pgpgout/s)KB数,说明系统需要更多内存。
10) 页式调度:标签页(PAGE)
记录系统(AIX)页式调度的情况。这一栏主要记录系统换页(paging)情况和页面扫描:自由比率(page scan:free ratio)。其中系统换页频率应该不大于5次/秒,而当页面扫描:自由比率持续大于4时,需要重点关注下系统内存和分页空间的使用情况。
说明:
大量的内存交换操作会极大地影响系统的性能,尤其是在当数据库文件创建在文件系统上时(JFS and JFS2)。在这种情况下经常访问的数据,即在SGA中存在,也同样在文件的缓存中存在。这种相同的数据在内存中缓存两次的情况,会降低内存的使用效率,从而使内存频繁进行交换操作,造成系统的I/O瓶颈,降低整个系统的性能。
11) 采集时间:标签页(ZZZZ)
记录nmon工具采集系统信息的时间点。
4. Nmon监控案例介绍
4.1 常见的现象和原因
4.2 实例介绍
示例1
介绍个利用nmon进行系统实时监控的例子。
把nmon脚本上传到服务中,直接运行即可,执行命令如下:#./nmon或者#/tmp/nmon/nmon
以下是aix5.3下使用nmon的一些截图:
分别输入c、t、n、m,可以了解系统cpu,内存,消耗资源最高的线程的使用情况。
Cpu占用不高
网络资料使用情况
资源占用最多的进程
内存使用
示例2
本实例为通过nmon监控河北税源管理平台数据仓库收集的数据。对照nmonanalyser工具生成结果进行分析。
Ø 收集服务器基本信息
通过以上数据可以知道河北数据仓库服务器基本配置信息如下:
n 主机名:HE_SSGLY_DB_01
n 操作系统版本:AIX 5.3.0.44 build 5300-04
n 操作系统内核:HW-type=CHRP=Common H/W Reference Platform Bus=PCI LPAR=Dynamic Multi-Processor 64 bit
n 主机型号:IBM p5 595 (9119-595)
n 网络配置:IP Address: 75.16.16.191 Sub Netmask: 255.255.248.0 Gateway: 75.16.16.100
n 主机存储:EMC存储
n 主机物理内存:49152 MB
n 网卡信息:2块网卡 速率为1024M/S
Ø 文件系统使用情况
通过以上数据可以知道河北数据仓库服务器文件系统相关信息如下:
n 文件系统分区大小及使用情况
n 文件系统挂载点信息
n 文件系统类型为JFS2(Journaled File System 2)文件系统
Ø 系统资源使用情况
观察上图,可以发现服务器cpu使用率较高的时段为8:00-11:30、14:00-17:20,而系统I/O开销较高的时段均出现在21:00-次日5:50。以上信息基本符合服务器晚上进行数据ETL处理、白天工作时段多进行平台一般事务处理的情况。进一步观察服务器cpu使用情况:
发现CPU利用率较高均为用户进程,单独查看CPU-11注意到22:00-0:00这个时段内CPU的Wait状态占用率明显增大, user状态占用率却很低,此时系统I/O明显升高,说明这个时段内有大量磁盘I/O发生,CPU占用率逐渐下降是由于等待磁盘I/O引起的。实际情况中,这个时段服务器正在进行ETL数据处理,的确有大量数据传输和磁盘读写发生。
展开阅读全文