关于nmon的史上最强干货,充满了对软测人满满的爱~

86 篇文章 8 订阅
10 篇文章 0 订阅

前言

说到服务器资源监控,你的第一反应,是不是 nmon 这个工具?如果你不是,或者你不会 nmon 进行服务器资源监控,请认真看下这篇文章,因为,这可能是国内用一篇文章,对 nmon 进行最详尽讲解的。

简介

nmon 是 Nigel's performance Monitor for Linux(nigel 的 Linux 性能监控器)的英文缩写;它有三种运行模式,分别是:实时屏幕模式数据收集模式定时计划执行模式。这款工具运行时,本身资源消耗很小,而且监控的资源种类比较多,使用非常简单,所以,在没有搭建专业的监控平台时,很多人都会想到用它来监控服务器

安装和使用  

下载安装:

首先要知道自己监控的 Linux 服务器的发行版本,怎么看呢?

# 查看centos的发行版本 cat /ect/redhat-release 

# 查看Ubuntu的发行版本 lsb_release -a

根据看到的系统版本,在 nmon 的 下载页面 中,查找支持对应版本的最新 nmon 版本,下载完成之后,在 Linux 中,解压下载包

# 本地下载,然后通过sftp方式上传到linux服务器任意文件路径

# 或

# 在linux中用wget 下载地址 直接下载到机器的任意文件路径 

# 解压 tar -xzvf nmon****.tar.gz

实时屏幕模式

直接执行对应系统的 nmon 文件,如 Linux 系统发行版本的 centos8,则执行 ./nmon_x86_64_centos8 ,将开启 nmon 的实时屏幕展示模式。

 

看到这样一个黑色窗口,是不是就楞了,不知道怎么做了?看到这样一个自己陌生的东西,千万不要去害怕,你要知道,他们其实都是纸老虎

 

从顶部第一行,我们可以看到,当前机器的名称叫localhost,页面数据刷新的时间是 2 秒,当前时间,再往下看,告诉我们输入'h',就能获得更多帮助,接下来,就是操作系统相关信息;再接下来告诉我们,可以使用下面这些键,获得对应功能数据展示。

 

参数用法

c

带条形图的 CPU 利用率统计信息(CPU 核心线程)

m

内存和交换统计

d

磁盘 I/O 繁忙百分比 & 每秒读\写数据量 KB/s 图

r

资源:机器类型,名称,缓存详细信息和操作系统版本以及 Distro + LPAR

t

top 进程,1 基础、3 性能、4 大小、5 I/O 仅 root 用户可用

n

网络统计信息和错误(如果没有错误,则消失)

j

文件系统,包括日记文件系统

k

内核统计信息运行队列,上下文切换,派生,平均负载和正常运行时间

U

CPU 使用率统计信息 user, user_nice, system, idle, iowait, irq, softirq, steal, guest, guest_nice

u

进程详细信息

 

输入:cmdU

 

 

这样,我们就能从屏幕上,实时看到当前服务器资源使用情况,按 q,退出查看

 

更多参数说明:

 

数据收集模式

如果你的 Linux 系统发行版本是 centos8,则执行 ./nmon_x86_64_centos8 -f ,将开启 nmon 的数据收集模式,该命令后面不在跟参数,则默认为:-s300 -c288

 

  • 注意: 直接执行这个命令,后面不带参数,该命令将在后台持续运行 24 小时,收集24 小时资源使用情况

 

使用 -f 开启数据收集模式,还可以跟上其他参数

 

参数用法

-f

标准输出到表格文件,默认 -s300 -c288 ,为 24 小时,输出文件格式为:hostname_YMD_HHMM.nmon

-F

类似-f,但是支持指定输出文件的名称

-a

GPU 加速,统计信息

-b

切换黑白 和彩色模式

-c

总统计次数

-s

数据统计间隔时间, 单位为:秒

-d

最大的磁盘数,默认 256

-D

与-g 一起使用以添加磁盘等待/服务时间和运行中状态

-g

用户定义的磁盘组获取数据:生成 BBBG 和 DG 行

-I

设置忽略进程和磁盘繁忙阈值(默认为 0.1%),不要使用小于此百分比的百分比保存或显示 proc /磁盘

-J

关闭日志文件系统统计信息收集(可能导致自动挂载 NFS 出现问题)

-l

数据捕获中的每行磁盘数可避免电子表格宽度问题。默认值为 150。EMC= 64。

-m

把输出文件保存到指定文件夹。通过 cron 启动 nmon 时有用

-M

为每个 CPU 线程添加 MHz 统计信息。某些 POWER8 型号 CPU 内核的频率可能不同

-N

包括适用于 V2,V3 和 V4 的 NFS 网络文件系统

-p

nmon 启动时将输出 PID。在脚本中很有用,可捕获 PID 以便以后安全停止。

-r

在基准测试中用于记录运行详细信息,以供以后分析[默认主机名]

-t

在输出中包括 top 流程

-T

-t 增强,它将命令行参数保存在 UARG 部分中

-U

包括 Linux 10 CPU 使用率统计信息(文件中的 CPUUTIL 行)

 

  • 这么多参数,并不需要所有都记住,只需要重点记住几个即可:-f、-s、-c、-m、-p

 

常用案例:

 

  • ./nmon_x86_64_centos8 -f    # 监控服务器,将结果标准输出,命令将后台持续运行 24 小时

  •  ./nmon_x86_64_centos8 -f -s3 -c10  # 每隔3秒收集一次,收集10次,将结果标准输出  

  • ./nmon_x86_64_centos8 -f -s3 -c10 -m /tmp/nmon  # 每隔3秒收集一次,收集10次, 将结果标准输出到指定路径,注意:文件夹要存在

 

更多参数说明:

 

定时计划执行模式

如果你的 Linux 系统发行版本是 centos8,则执行 ./nmon_x86_64_centos8 -x , 将开启 nmon 的定时计划执行模式。如果后面不再添加任何参数,默认为 -s900 -c96 即:每隔 900 秒获取一次数据,总共执行 96,也就是 24 小时,收集的数据结果采用标准输出。

 

  • 注意:该命令后面,不再加参数,默认执行 24 小时。

  • 另外,还可以使用 -X 参数,这个参数默认为 -s30 -c120 即:每隔 30 秒获取一次数据,总共执行 120 次,也就是 1 个小时。收集的数据结果采用标准输出

  • -z 用 root 账户运行,收集 1 天数据,输出到/var/perf/tmp 文件夹

结果查看

标准输出结果查看

 

nmon 的标准输出结果文件为:主机名_年月日_时分。nmon 是一种文本数据文件,可以用文本编辑器打开,但是不便于阅读,可以使用 nmon 的 analysis 工具打开。

 

  • 在本地电脑上下载 nmon_analysis

    http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser

  • 解压 tar 包

  • 从 Linux 服务器上,下载 nmon 的标准输出文件到本地电脑

 

用 Microsoft Excel 打开解压的"nmon analyser v*.xlsm" 文件,然后启用宏

 

 

点击 【Analyze nmon data】按钮,选择从服务器上下载的 nmon 文件,将会自动分析,生成一个 xlsx 的文件,保存,自动会用 Excel 打开,打开我们就能看到多个图表。

 

技能提升

对于大多少数学习或使用过 nmon 的同学,可能都只是掌握了上面这些,国内的绝大多数的文章也就介绍上面这些技能,但是,Microsoft Excel 却有一个致命缺陷,严重制约了这个工具的使用。

什么问题呢?

如果你使用 nmon 监控的时间比较长,生成的 nmon 文件比较大,大几兆,十几兆,或几十兆,你打开看看,肯定无响应,或者奔溃,有木有!

如果没有的话,那你肯定没有真正用过。

其实,nmon 的结果查看还有其他工具,可以去下载 nmonchar.tar  文件,下载文件到 Linux 服务器上

# 下载 

  wget http://sourceforge.net/projects/nmon/files/nmonchart40.tar

#解压 

  tar -xvf nmonchart40.tar 

# 进入解压后的文件夹

   cd nmonchart40

使用 nmonchar,分析监控生成的 nmon 文件

./nmonchart 被分析的nmon文件.nmon 生成结果文件.html

 

注意:这个命令要能执行,需要有ksh,centos可以使用 yum install ksh 命令安装

下载生成的 HTML 文件到本地

是不是,就急着去用浏览器打开,打开看到了什么?

 

很尴尬是不是,什么都没有,点击上面的按钮,也,没什么用。

为什么呢?因为这个文件渲染用到 js,跑到外星去啦,相信你明白的,如果你能去外星走一遭,你就会看到

 

 

这个是不是比 Excel 的要好看些,重要的是不用再害怕文件太大,无法打开了。

好了,这种不对外讲的技术都给大家讲了,你学会了吗?

文末答疑:

大家关于今天的内容、或者是关于软件测试的其他方面内容,有疑惑的话,欢迎评论区留言啦,小编邀请了咱们柠檬班的大佬allen老师,为大家线上限时答疑~

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值