【Linux资源管理】一款优秀的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.解压安装包
[root@redhat6 ~]# mkdir /opt/nmon/nmon16e [root@redhat6 nmon16e]# pwd
/opt/nmon/nmon16e
[root@redhat6 nmon16e]# tar -xzvf nmon16e_mpginc.tar.gz
...
nmon_x86_64_opensuse12
nmon_x86_64_rhel6
nmon_x86_64_rhel7
... [root@redhat6 nmon16e]# ll
total
-rw-r--r--. root root Aug : nmon16e_mpginc.tar.gz
-rw-r--r--. root root Apr nmon_arm_ubuntu15
-rwxr-x---. root root Apr nmon_power_32_rhel6
-rwxr-x---. root root Apr nmon_power_32_sles11
-rwxr-x---. root root Apr nmon_power_64_kvm2
-rwxr-x---. root root Apr nmon_power_64le_fedora22
-rwxr-x---. root root Apr nmon_power_64le_rhel6
-rwxr-x---. root root Apr nmon_power_64le_rhel7
-rwxr-x---. root root Apr nmon_power_64le_ubuntu14
-rwxr-x---. root root Apr nmon_power_64le_ubuntu15
-rwxr-x---. root root Apr nmon_power_64le_ubuntu16
-rwxr-x---. root root Apr nmon_power_64_rhel6
-rwxr-x---. root root Apr nmon_power_64_rhel7
-rwxr-x---. root root Apr nmon_power_64_sles11
-rwxr-----. root root Apr nmon_x86_64_centos6
-rwxr-----. root root Apr nmon_x86_64_centos7
-rwxr-----. root root Apr nmon_x86_64_opensuse11
-rwxr-----. root root Apr nmon_x86_64_opensuse12
-rwxr-----. root root Apr nmon_x86_64_rhel6
-rwxr-----. root root Apr nmon_x86_64_rhel7
-rwxr-----. root root Apr nmon_x86_64_sles11
-rwxr-----. root root Apr nmon_x86_64_sles12
-rwxr-----. root root Apr nmon_x86_64_ubuntu15
STEP3.找到与自己操作系统对应的文件,直接执行,即可进入nmon工具
[root@redhat6 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倍 |
“-” | “ - ” = 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收集数据命令如下:
[root@redhat6 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图形报表
[root@redhat6 ~]/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的
[root@redhat6 ~]# 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出图形,也需寻找原因。
【Linux资源管理】一款优秀的linux监控工具——nmon的更多相关文章
- 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器
12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...
- 8 个优秀的 Linux 图形图像及色彩工具
8 个优秀的 Linux 图形图像及色彩工具 1. 硬件色彩分析器LPROF LPROF 是一个用于创建设备兼容,如相机.扫描仪.显示器的ICC兼容型材的颜色分析器.这些配置提供跨设备的色彩一致性.他 ...
- LINUX下一款不错的网站压力测试工具webbench
LINUX下一款不错的网站压力测试工具webbench 分类: Linux 2014-07-03 09:10 220人阅读 评论(0) 收藏 举报 [html] view plaincopy wget ...
- 六款常见的Linux操作系统推荐
家常常可能因为工作或学习的需要,要使用个操作系统(比如Windows和Linux).大家对Windwos支持的文件系统可能比较熟悉,而对Linux操作系统所支持的文件系统也许比较陌生.下面小编为大家推 ...
- Linux下一款可以使用命令行的pdf阅读器
Zathura是linux下一款用命令行控制打pdf阅读器,并且基本打使用方法和vim很相似.对于喜欢键盘操作的用户来说的确是一个不错的选择. ubuntu下的安装命令: sudo apt-get i ...
- Linux下四款常见远程工具比较
摘要:Linux远程可不像Windows下那么方便,主要是连接的速度.显示的画质不能令人满意(延迟.撕裂).本文只是说一下我用过的四款远程工具.Anydesk官网:https://anydesk.co ...
- 推荐两款远程管理Linux工具(基于Windows系统)
推荐两款远程管理Linux工具(基于Windows系统) 1.Xshell 百度百科:Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows ...
- Linux监控工具nmon
Linux监控工具 nmon nmon是一种在Linux操作系统上广泛使用的监控与分析工具,nmon所记录的信息是比较全面的,它能在系统运行 过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中 ...
- 优秀的linux学习网站
从网络上拷贝别人归纳的列表. Linux优秀网站列表 国内 http://www.chinaunix.net/ 国内最火爆的unix/linux论坛 http://www.linuxforum.net ...
随机推荐
- 动态设置热区coords的坐标
window.onresize = adjuest; function adjuest(){ var picw = $(".imgbox img").width(); var pi ...
- jquery not() 方法
1.not(expression) 根据表达式参数的值,从包装集里删除元素 example : $('img[alt]').not('[alt*=joy]') 返回包含属性alt的img元素,但img ...
- 简单的自动升级提示AutoUpdater
看过网上“圣殿骑士”和其他人的升级做法,感觉不太适合几十M的小型软件. 之前用的一直都是clickonce,但是3年下来感觉弊端太多,比如安装不能选择文件夹.打包不全.版本等问题,于是决定另辟捷径. ...
- Codeforces Round #411 A. Fake NP
A. Fake NP time limit per test 1 second memory limit per test 256 megabytes Tavak and Seyyed a ...
- 抖音C#版,自己抓第三方抖音网站
感谢http://dy.lujianqiang.com技术支持 文章更新:http://dy.lujianqiang.com这个服务器已经关了,现在没用了 版权归抖音公司所有,该博客只是为交流学习所使 ...
- element ui下拉框如何实现默认选择?
<template> <el-select v-model="value4" clearable placeholder="请选择"> ...
- 【转】msyql使用-用户创建/权限配置
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...
- Python pymysql模块学习心得
PyMySQL包含了一个纯Python的MySQL客户端的库,它的目的是用来替换MySQLdb,并且工作在CPython,PyPy和IronPython. PyMySQL官方地址:https://py ...
- Java SpringMVC学习--基础配置
快速开始一个基于SpringMVC框架的web项目 开发工具 Eclipse neon.2 运行环境 tomcat8.5 1.在Eclipse中新建一个web项目:File-New-Dynamic W ...
- mysql多实例mysqld_multi方式
mysql多实例应用,亲测直接执行脚本可使用,可快速部署多实例环境 #!/bin/bash set -e #定义mysql_multi多实例数据的配置,如需增加,在后面函数对应地方需要增加 mydir ...