nmon 下载地址:
nmon根据自己系统版本下载对应的安装包,本次测试使用的是
.tar.gz 格式的文件,需要获取 nmon 的最新版本,本次实验选用了 .zip 版本。
1.将下载的nmon安装包上传到Linux新建目录并解压:
test@ ~
$ cd /usr/local
test@ local
$ mkdir nmon
test@ local
$ cd nmon
test@ nmon
$ tar -zxvf .tar.gz
2.根据自己系统的版本,给命令赋予可执行权限:
test@ nmon
$ cat /etc/-
2 6.9 (Final)
test@ nmon
$ chmod +x
3.在命令行输入 ./ 即可打开nmon界面。

在上方那个可操作的界面里,能够借助nmon的专用键位来呈现各种机器部件的性能数据,包括内存使用、磁盘活动以及网络流量等详细情况。
q : 停止并退出 Nmon
h : 查看帮助
c : 查看 CPU 统计数据
m : 查看内存统计数据
d : 查看硬盘统计数据
k : 查看内核统计数据
n : 查看网络统计数据
N : 查看 NFS 统计数据
j : 查看文件系统统计数据
t : 查看高耗进程
V : 查看虚拟内存统计数据
v : 详细模式
现在,借助特定的按键组合,可以选取重要的系统资源进行展示,这种办法展示的信息即时性好,有助于迅速了解系统在压力下的工作状态。

配置nmon的环境变量
设置好相关参数之后,nmon便可以顺利运行了。不过,一个明显的问题出现了,那就是每次调用nmon都需要先确定其准确位置,这种方式操作起来比较繁琐。为了解决这个问题,应该把nmon的指令加入到系统环境变量中,这样一来,在任何目录下都能直接使用这个命令了。
1.修改启动文件名称,让名称简单化,修改完成执行一次试试:
test@ nmon
$ mv nmon
test@ nmon
$ ./nmon
在终端键入 vim /etc/ ,然后把后面这些文字追加到文件末尾,注意把位置换成自己系统的实际路径:
PATH=$PATH:/usr/local/nmon
PATH
在终端键入 /etc 路径,能够让配置立刻起作用,接着,无论身处哪个文件夹,都能运用 nmon 命令来启动该程序。
监控
我们使用nmon来监控压测期间的系统资源消耗情况。
1.在nmon目录下新建logs文件夹,用来存放监控文件:
test@ ~
$ cd /usr/local/nmon/
test@ nmon
$ mkdir logs
在终端界面键入操作指令:运行nmon程序,设定采样间隔为一秒,设置缓存使用率为百分之八十,启用文件输出模式,将日志文件保存在指定目录下
参数说明:
-s 1:每隔n秒抽样一次,这里为1秒
抽样数量是80个,这个数值确定后,监控时长就等于1乘以80再除以60,结果是1分钟20秒
-f:按标准格式输出文件名称:.nmon
该命令的选项中,-m用于设定存放监控文件的路径,在输入-m之后需要紧跟具体的文件夹名称,如果用户没有提供这个路径,那么系统就会在该指令执行所在的文件夹里面创建这些监控文件
这个指令一旦执行,就会在我们选定的位置创建监察文档,并且会不停记录资源信息,直到八十个监察位置的数据全部采集完毕。
现阶段,工作人员无需进行人工操作。倘若要终止观察,需先检索任务编号,再执行终结动作。
test@ ~
$ ps -ef|grep nmon
测试编号8863, 第一个参数为1, 第二个参数为0, 时间为17时05分, 使用 pts/1, 运行时长为00时00分00秒, 命令为nmon, 参数包括-s 1, -c 120, -f, 目标目录为/usr/local/nmon/logs/
测试编号为九一一二五一六零,编号为零,时间为十七点零七分,终端编号为一,运行时长为零小时零分零秒,执行命令为搜索名为nmon的程序
test@ ~
$ kill 8863
-bash: kill: (8863) - No such
这个程序因为已经停止工作,因此当我试图终止它的时候,系统会显示不存在的信息。
3.运行脚本,直至脚本运行结束。

此次测试纯粹是为了演示操作步骤,测试数据中的每秒请求数量毫无参考价值,为了防止产生无谓的争论,我们对其进行了模糊化处理。
查看和分析压测结果
1.将生成的监控文件下载到本地。
本地那个.zip文件需要先进行解压操作,解压完成之后,其包含的文件夹里面会出现.pdf以及.xlsm这两种类型的文件,我们接下来要操作的是打开那个.xlsm文件。

点击添加数据按钮,选择本地监控文件导入,随后会创建一个.xlsx文档,该文档中包含所需的数据统计结果。

nmon功能依靠Excel的宏实现,WPS系统通常不自带宏支持,即便安装了相关插件也容易发生运行错误,因此推荐采用Excel表格来操作。
宏语言 Basic属于VBA范畴,Basic是一种通用程序设计语言,用于在特定环境下开发应用软件,它具备强大的功能,并且使用起来很方便。
VBA属于它的一个分支,能够普遍用于企业制作的各类软件里,比如Word、Excel等。
4.需要关注的一些数据。
1),是服务器cpu使用率的详细数据。

用户模式下运行的程序占用处理器资源的情况,通过百分比形式体现出来。
系统显示内核程序占用处理器资源的比率,单位为百分比。
Wait%:显示等待 IO 所花的时间百分比。
Idle%:显示 CPU 的空闲时间百分比。

nmon的启动时刻未必与应用运行平稳的时段一致,并且nmon的监测时段可能比应用施加压力的时间要长,因此nmon获取的结果中常常包含一些明显不符合常理的数据,例如前几次检测到的CPU等资源占用率显著低于中段时期的平均数值,或者后几次采集到的数据非常小,对于这类数据我们在分析时需要加以排除。
2)MEM,是服务器内存使用率的概况。


在内存管理表里,依据特定公式计算每行占用空间比例,然后求出平均值:首先用(B2减去F2再减去K2再减去N2)的结果,接着除以B2的值,最后乘以百分之一,这个公式写作等于(=(B2-F2-K2-N2)/B2*100)。
通过分析内存使用率的趋势,可定位是否内存泄露情况。
观察到内存占用达到99%时,不能直接断定内存已满,需要明确内存分页的具体类型,这种草率的结论缺乏科学依据。在AIX系统中,关键在于评估内存使用量占物理内存总量的比例,而在Linux系统中,同样需要关注内存使用量占物理内存总量的比例。
3),总体disk读、写以及I/O操作。


磁盘读取数据时每秒传输的千字节数,针对每个磁盘进行数据采集;这反映了磁盘设备的读取性能
磁盘执行采样数据,每秒写入千字节;这是磁盘设备的写入速度
每秒钟完成的IO操作量,即IO/sec,指的是控制一次读或写算作一次IO,而IO块代表读或写的大小,图中上方黑色线条展示的是该参数的数值,报告里记录了此参数的具体值。
4)NET,网络:



每秒接收到的千字节数量,如图中蓝色部分所示;每秒发送出去的千字节数量,如图中橙色部分所示。
网络=Total read-Total write。
网络参数通常需依据硬件配置来判定,百兆网卡的含义在于每秒可传送的数据量达到,也就是最高的下载速率可达到12.5MB每秒,而一般服务器则配备千兆网卡,其传输能力为125MB每秒。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1