一款优秀的linux监控工具——nmon

(一)nmon工具概述

nmon是以一个用来做linux服务器监控的工具,通过nmon,可以实现对以下参数的监控:

--CPU使用率

--内存、交换空间使用率

--网络使用情况

--磁盘I/O,读写速度

--网络I/O速度,传输和读写速度

--顶级进程,查看哪些应用程序占用的CPU较多

--网络文件系统NFS

--文件系统使用情况(类似df -h)

等。。。

(二)nmon工具的部署

STEP1.下载安装包:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download。

注释:这里需要根据自己的linux类型及版本选择合适的安装包,我的redhat 6.6 linux信息为

lsb_release: Distributor ID : RedHatEnterpriseServer
lsb_release: Description    : Red Hat Enterprise Linux Server release 6.6 (Santiago)

,经测试,可以使用nmon16e_mpginc.tar.gz下面的“nmon_x86_64_rhel6”。

STEP2.解压安装包

[[email protected] ~]# mkdir /opt/nmon/nmon16e

[[email protected] nmon16e]# pwd
/opt/nmon/nmon16e
[[email protected] nmon16e]# tar -xzvf nmon16e_mpginc.tar.gz
...
nmon_x86_64_opensuse12
nmon_x86_64_rhel6
nmon_x86_64_rhel7
...

[[email protected] nmon16e]# ll
total 12540
-rw-r--r--. 1 root root 3456878 Aug 13 10:16 nmon16e_mpginc.tar.gz
-rw-r--r--. 1 root root  383072 Apr 14  2016 nmon_arm_ubuntu15
-rwxr-x---. 1 root root  342054 Apr 20  2016 nmon_power_32_rhel6
-rwxr-x---. 1 root root  353612 Apr 20  2016 nmon_power_32_sles11
-rwxr-x---. 1 root root  460578 Apr 20  2016 nmon_power_64_kvm2
-rwxr-x---. 1 root root  464824 Apr 20  2016 nmon_power_64le_fedora22
-rwxr-x---. 1 root root  464824 Apr 20  2016 nmon_power_64le_rhel6
-rwxr-x---. 1 root root  464824 Apr 20  2016 nmon_power_64le_rhel7
-rwxr-x---. 1 root root  540615 Apr 20  2016 nmon_power_64le_ubuntu14
-rwxr-x---. 1 root root  561504 Apr 20  2016 nmon_power_64le_ubuntu15
-rwxr-x---. 1 root root  551472 Apr 20  2016 nmon_power_64le_ubuntu16
-rwxr-x---. 1 root root  405725 Apr 20  2016 nmon_power_64_rhel6
-rwxr-x---. 1 root root  460578 Apr 20  2016 nmon_power_64_rhel7
-rwxr-x---. 1 root root  418328 Apr 20  2016 nmon_power_64_sles11
-rwxr-----. 1 root root  347506 Apr 14  2016 nmon_x86_64_centos6
-rwxr-----. 1 root root  402146 Apr 14  2016 nmon_x86_64_centos7
-rwxr-----. 1 root root  345503 Apr 14  2016 nmon_x86_64_opensuse11
-rwxr-----. 1 root root  394628 Apr 14  2016 nmon_x86_64_opensuse12
-rwxr-----. 1 root root  347506 Apr 14  2016 nmon_x86_64_rhel6
-rwxr-----. 1 root root  402146 Apr 14  2016 nmon_x86_64_rhel7
-rwxr-----. 1 root root  345503 Apr 14  2016 nmon_x86_64_sles11
-rwxr-----. 1 root root  394628 Apr 14  2016 nmon_x86_64_sles12
-rwxr-----. 1 root root  481776 Apr 14  2016 nmon_x86_64_ubuntu15

STEP3.找到与自己操作系统对应的文件,直接执行,即可进入nmon工具

[[email protected] nmom6e]# ./nmon_power_64_rhel6

(三)nmon实时监控

可以使用nmon进行实时监控,命令主要包括三种类型:

  • 帮助命令
  • 监控参数命令
  • 监控辅助命令

(3.1)帮助命令

帮助命令为“H”,通过H命令可以了解到nmon的命令及作用

 (3.2)监控命令

 命令 英文解释 作用
 c | C
c = CPU Util   ;

C = wide view


用于监控CPU的使用情况。针对每核CPU的四种状态进行统计:

User%:用户使用CPU百分比                 Sys% :系统使用CPU百分比

Wait%:CPU(非空闲)等待百分比       Idle%:空闲CPU百分比

 m | L
m = memory & swap  ;

L = Large(Huge) Page

用于监控内存及交换空间的使用情况,还可以使用“L”命令查看Large(Huge) Page的使用情况
 n n = network
监控每块网卡的I/O情况,主要监控

--每秒接受/发送的流量

--进出网卡的package的数量

--进出流量(默认是2秒)

--每秒接受/发送的流量的峰值

 d
d = Disk I/O Graphs

D = Status


监控磁盘I/O情况,通过这个命令,可以看到磁盘的繁忙程度,读写速度,用“D”可以看到更细节的磁盘I/O信息

注:如果磁盘sda分区成为:sda1、sda2,那么会显示三个磁盘(sda、sda1、sda2)的信息。

 k k = kernel status & loadavg
监控内核状态及负载,通过这个参数,可以了解到CPU具体消耗在哪些地方

--全部CPU的使用负载,CPU具体耗费在哪些地方也有所描述,不同于前面c或C对单个CPU统计

--全部CPU的平均负载(1min、5min、15min)

 M M = MHz by thread & CPU CPU的时钟震荡频率 
 t
t = Top Process,可选参数:

--1:Priority/Nice/STate

--3:CPU

--4:RAM

--5:I/O


顶级进程,可通过一下方式排序

--1:基础方式,个人感觉不实用

--3:按CPU消耗排序

--4:按内存消耗排序

--5:按I/O消耗排序

 g g = User Defined Disk Groups  用户定义的磁盘组信息
 r r = Resources OS & Proc
操作系统资源信息,如:

--CPU型号、CPU频率、每颗CPU的物理内核、超线程、虚拟CPU数量

--操作系统版本:linux版本、redhat版本

 l l = long term CPU averages 长期的CPU负载监控。类似于windows任务管理器提供的CPU监控功能 
 V v = Virtual Memory 虚拟内存使用情况 
 N N = NFS  NFS网络文件系统I/O统计
 o o = Disk %Busy Map 通过MAP图,记录了哪些磁盘在使用,哪些磁盘未使用  
 j j = Filesystem Usage 文件系统的使用情况,类似于df -h
 u u = Top Process with command line Hit u twice to update 顶级进程,带有两次去更新数据操作
 G G = with -g switches Disk Graphs to disk groups only  不清楚具体作用,略

(3.3) 辅助监控命令

命令 英文解释 作用
 “+” (shift+“+”)  “+” = double the screen refresh time  屏幕刷新频率改为2倍
 “-”  (shift+“-”) “ - ” = half the screen refresh time   屏幕刷新频率改为一半
 “.” “.” = Display only busy disk & CPU   标出处于繁忙状态的CPU 
 0  0 = reset peak marks(">") to zero  将峰值重新设置为0 
 space space refresh screen now   空格键手动刷新屏幕 
 b  black & white mode  颜色显示为黑白模式 
 q q = Quit    退出 

(四)nmon数据非实时分析

除了实时分析外,还可以对数据进行收集,然后使用nmonchart、nmon_analyser工具将收集的数据进行绘图、展现。

nmon收集数据命令如下:

[[email protected] nmom6e]# ./nmon_x86_64_rhel6 -s1 -c300 -f -m /opt/nmon/nmon16e/file

参数说明:
-s1      : 每隔n秒抽样一次,这里为1s;
-c300  : 采样次数,这里为300次;
-f         : 按照标准格式输出文件名称:<hostname>_YYMMDD_HHMM.nmon
-m       : 文件输出路径

最终会生成一个nmon文件,在得到nmon文件后,可以使用nmonchart或者是nmon analyser来绘制图形。

接下来介绍一下nmonchart与nmon_analyser的用法。

(4.1)使用nmonchart生成图形

如上所述,nmon收集数据后,会形成一个*.nmon文件,我们可以使用nmonchart来生成html的服务器性能报表,

 nmonchart下载地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmonchart

使用语法:nmonchart <nmon-file> <output-file>.html

例子:使用nmonchart将redhat6_180814_1014.nmon转换为html图形报表

[[email protected] ~]/opt/nmon/nmon16e/nmonchart/nmonchart  /opt/nmon/nmon16e/file/redhat6_180814_1014.nmon  /opt/nmon/nmon16e/file/redhat6_180814_1014.html 

执行提示异常:-bash: ./nmonchart: /usr/bin/ksh: bad interpreter: No such file or directory

解决办法:

nmonchart需要使用ksh,这里提示没有在"/usr/bin/ksh"没有找到ksh,先确定系统有没有安装ksh。我的系统的redhat6.5,是安装了ksh的

[[email protected] ~]# which ksh
/bin/ksh

既然有ksh,就不用安装了,直接修改nmonchart的shell即可,编辑nmonchart文件  vi /home/nmon/nmonchart31/nmonchart ,修改第一行#!/usr/bin/ksh 为#!/bin/ksh。然后再执行转换命令就好了

按理说打开html文档,可以看到官方提供的这样的图

但是我打开之后,却是这样的。。。上面的按钮无法点开看到图像,以为是浏览器的原因,试了chrome、firefox、ie都不好使。一时没法搞定,暂放一下,再想想是哪里出了问题

(4.2)使用nmon_analyser生成图形

nmon analyser是一个excel工具,下载地址为:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser 。

下载解压之后,有2个文件,word文档是analyser的用户指南,对analyser工具的使用介绍得非常详细,excel就是我们用来做数据分析的工具了。

初次使用时,一般会提示“宏已被禁用”,我们需要启用宏

接着点击“Analyze nmon data”按钮,将需要分析的*.nmon文件加载到excel中,分析完成后,会生成一个新的excel,里面记录了服务器的各项参数信息,我们简单的看几个图形:

图1:SYS_SUMM。这个图对一段时间内服务器的CPU、I/O进行了统计

图2:DISK_SUMM。这个图反映了磁盘的读写速度以及I/O请求的数量

图3 :CPU_ALL。反馈了CPU的负载情况

图4:CPU_SUMM。反馈了在真个时间段内每核CPU的负载情况

图5 图6 NET。反馈了整体网络I/O情况以及每个网卡的I/O的情况

图7:CPU001:反馈了第1核CPU在监控时间段内的负载情况(这台服务器有48核心,这里只列出1核)

(五)nmon工具使用心得

nmon工具非常小巧,却又非常的强大,nmon大小不足1MB,却能够监控10多项重要参数,相对于其它的工具,例如iostat、top等,nmon显示的信息更多,对用户也更友好,作为一个linux的初级使用者,也能理解其中的大部分信息。

由于linux和操作系统基础较差,目前我个人只能理解一部分参数,后续还需加强学习。此外nmonchart也未成功draw出图形,也需寻找原因。

原文地址:https://www.cnblogs.com/lijiaman/p/9466614.html

时间: 2024-10-05 23:52:01

一款优秀的linux监控工具——nmon的相关文章

Linux监控工具nmon

Linux监控工具 nmon nmon是一种在Linux操作系统上广泛使用的监控与分析工具,nmon所记录的信息是比较全面的,它能在系统运行 过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图 形化结果. nmon下载与安装 wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz tar gxvf nmon_linux_14i.tar.gz mv n

unix、linux下的系统性能监控工具nmon

一.nmon是一款很好的unix.linux下的系统性能监控工具. 引自百度知道: nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二.在更新的计算机上,其 CPU 使用率将低于百分之一. 使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新.然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段.如果您拉伸窗口,并在 X

Linux实时监控工具Nmon使用

官网:http://nmon.sourceforge.net/pmwiki.php?n=Main.HomePage 下载:http://sourceforge.net/projects/nmon/files/nmon_linux_14g.tar.gz 解压: #chmod u+x nmon_x86_64_sles11 #chmod 777 nmon_x86_64_sles11 版本不同,对应文件也不同 启动: # ./nmon_x86_64_sles11 按C显示CPU信息,再按一次C关闭 按M

15款优秀移动APP产品原型设计工具

一款优秀的移动APP产品原型设计工具应该具备: ①.支持移动端演示(随时随地演示给BOSS,厕所&食堂&电梯-以体现我是那么的敬业--长点工资必备) ②.组件库(高效复用,谁用谁知道) ③.可以快速生成全局流程(程序猿看不懂拆解的,给丫的看这个) ④.在线协作(多个PM狗一起用) ⑤.手势操作.转场动画.交互特效-(这些都不需要,留给专业的交互.视觉,搞那么虚的不如多想想产品流程逻辑做做减法.写写xxRD啥的) 这些年,产品狗们折腾过的原型工具: 1. POP(Prototyping on

Windows系统下三十款优秀开源软件

Windows系统下三十款优秀开源软件 1.Firefox 官方网站:http://www.getfirefox.com/ 可替换Internet Explorer 功能特点:如果你还没有使用Firefox来作为你的网页浏览工具,那么你现在就可以动手了.它能够阻止那些烦人的弹出窗口,并且它还有大量优秀的插件,能够让你的网络冲浪体验更加美好.我可以全天候地赞美Firefox,但有一件事是肯定的:在新的Windows计算机上我要做的第一件事就是运行Internet Explorer,以让我去下载Fi

linux监控nmon和analyser的使用

测试压力的时候使用linux一个简单的监控工具nmon,不仅可以实时监测,也可以生成文件以图标样式展现,小巧实用 安装nmon nmon实际上是个tarball直接解压到所要放置的目录,然后直接运行就可以 #tar -zxvf nmon_linux_14i.tar.gz -C /data/program #./nmon_x86_64_centos6 注意这里如果运行的时候如果不想写那么复杂可以使用alias简化 运行 实时监测,运行后直接输入c(cpu)m(memory)等,可以直接h(help

五款优秀的端口扫描工具

在使用阿里云服务器,搭建阿里云VPC专有网络之后,关闭不必要的端口,并进行验证. 端口摘要: 端口扫描器是一种检测服务器或主机虚拟端口是开启或关闭的工具.端口允许同一台计算机上的不同应用程序同时共享网络资源.连接本地局域网或互联网的计算机运行着许多不同服务,它们监听着常用或不常用的端口.端口数的范围从0到65535,0到1023的端口数最常用,它们中有许多是为FTP.SSH.HTTP.telnet.DNS和NNTP等服务保留的,1024到49151端口是注册端口,49152到65535则分配给动

[转帖]8个优秀Docker容器监控工具,收藏了

8个优秀Docker容器监控工具,收藏了 Docker是目前使用最广泛的容器之一,但它并不总是像物理硬件一样可见.而使用docker容器监控工具有助于消除这种透明度的缺失.以下介绍8种优秀Docker容器监控工具. 作者:佚名来源:数码狂人|2019-09-16 14:18 收藏 分享 http://developer.51cto.com/art/201909/602978.htm Docker是目前使用最广泛的容器之一,但它并不总是像物理硬件一样可见.而使用docker容器监控工具有助于消除这

如何设计一款优秀的短视频 SDK

2017 年,短视频成为了内容创业的新风口,各种短视频 App 如雨后春笋般先后上线,随着互联网内容消费升级,视频越来越像文字.图片一样,成为每一个 App 不可或缺的一部分. 为了能够更好地聚焦于业务,早日完成短视频 APP 的上线,越来越多的公司倾向于选择一家靠谱的短视频 SDK 来起步,怎么定义靠谱?要关注哪些指标?仅功能满足就可以了吗? -- 显然不够,下面我们看看,如何才能设计一款优秀的短视频 SDK ? 1. 包体一定要尽可能小 在移动互联网时代,App 的包体大小,对获取用户有着至