Linux下使用nmon工具监控和分析

一、认识nmon

nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,

并且能输出结果到文件中,然后通过nmon_analyser工具产生数据文件与图形化结果。

 

二、下载nmon

nmon:

版本:nmon_linux_14i.tar.gz 

地址:https://sourceforge.net/projects/nmon/files/?source=navbar

nmonanalyser:

nmon_analyser 由IBM提供, 使用excel的宏命令分析加载生成excel图表,展示资源占用的各项信息。

版本:nmon_analyser_v33g.zip

地址: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

三、安装nmon

安装位置:/home/nmon (任意目录)

1、 在home目录下创建nmon文件夹:#  mkdir nmon

2、 查看Linux发行版:cat /etc/issue

执行结果:

nmon@LXEFPAPPD1:~> cat /etc/issue

Welcome to SUSE Linux Enterprise Server 12 SP2 (x86_64) - Kernel \r (\l).

从而确定:系统是64位,SUSE 12的版本

3 、本地解压nmon_linux_14i.tar.gz并上传对应版本nmon_x86_64_opensuse12到nmon目录

4、 赋权限:#  chmod 777 nmon_x86_64_opensuse12

5、 启动nmon:#  ./nmon_x86_64_opensuse12(在nmon目录下执行命令)

安装成功显示以下界面:

Linux下使用nmon工具监控和分析_第1张图片

四、实时监控

输入以下命令:

c         可显示CPU的信息

m       对应内存

n        对应网络

d        可以查看磁盘信息

t         可以查看系统的进程信息

Linux下使用nmon工具监控和分析_第2张图片

五、采集监控数据

在实际的性能测试中我们需要把一段时间之内的数据记录下来,如:

1、采集数据

# ./nmon_x86_64_opensuse12 -ft -s5 - c60 -F test.nmon

参数说明:

-s5          每隔n秒抽样一次,这里为5秒

-c60        取出多少个抽样数量,这里为60,即监控=5*60/60=5分钟

-f             按标准格式输出文件名称:_YYMMDD_HHMM.nmon

-t             输出中包括占用率较高的进程

-F            指定文件名

PS:一般来说不建议对稳定性测试使用nmon监控,因为生成的nmon文件超过10M时,分析工具会由于内存不足导致报错。

如果必须进行的话,建议加大采样频次,降低采样次数(低于330次)。

六、生成图形化报表

1、将test.nmon文件传到本地电脑上

2、打开nmon analyser v33g.xls并启动宏

3、点击excel里的"Analysis nmon data"按钮,打开你需要进行分析的nmon监控文件:

Linux下使用nmon工具监控和分析_第3张图片

 

4、通过分析工具生成的监控数据结果如下图:

Linux下使用nmon工具监控和分析_第4张图片

 

七、nmon analyser常用指标解析:

1、CPU_ALL:

 

所有CPU概述,显示监控系统所有CPU的平均占用情况,包含User/Sys/Wait/Idle状态

a. User%,用户模式下执行的程序所使用的CPU百分比

b. Sys%,内核模式下执行的程序所使用的CPU百分比

c. Wait%,等待 IO 所花的时间百分比

d. Idel%,CPU的空闲时间百分比,此值和User%,Sys%,Wait%之和等于1

e. CPU%,CPU总体占用情况,这个值通常等于User%+Sys%+Wait%

f. CPUs,CPU核数,即操作系统是多少C的

CPU百分比取User%+Sys%稳定阶段的平均值

 

2、DISKBUSY:

每个hdisk设备平均占用情况,单位为%(百分比)

磁盘繁忙度去最高磁盘的平均值

 

3、MEM:

内存使用情况描述,包括物理内存和虚拟内存

a. memtotal,物理内存总大小

b. swaptotal,虚拟内存(即交换空间)的总大小

c. memfree,剩余物理内存大小

d. swapfree,剩余虚拟内存大小

e. cached,已占用的文件系统缓存大小,由物理内存分配

f. buffers,文件系统缓冲区大小

g. swapcached,虚拟内存中已分配出来的内存大小

h. inactive,最近不常使用的内存大小

 

可用内存=memfree + cached + buffers

memfree够用的情况下:memfree内存利用率:(初始值-最小值)/总内存

memfree不够用的情况下:可用内存利用率:(初始值-最小值)/总内存

内存泄漏:稳定性测试:可用内存:结束值-初始值

PS: 一个交易完成结束后需要一段时间释放内存,两个场景之间的间隔3~5分钟释放内存资源。

 

转载于:https://www.cnblogs.com/kaymi/p/11281675.html

你可能感兴趣的:(Linux下使用nmon工具监控和分析)