大家都知道在做性能测试的时候,需要监控服务器的资源情况,而大多数服务器是Linux系统,网上资料嘿多,这里汇总介绍下Nmon监控工具:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一,Nmon介绍

(这句不用看——Nmon得名于 Nigel 的监控器,是IBM的员工 Nigel Griffiths 为 AIX 和 Linux 系统开发的,使用 Nmon 可以很轻松的监控系统的 CPU、内存、网络、硬盘、文件系统、NFS、高耗进程、资源和 IBM Power 系统的微分区的信息)。

Nmon是一款计算机性能系统监控工具,因为它免费,体积小,安装简单,耗费资源低,广泛应用于AIX和Linux系统。

二,Nmon下载

首先查看Linux系统内核版本(两种方式):

1,cat /proc/version

[qgc@localhost nmon16d]$ cat /proc/version
Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013

2,uname -a

[qgc@localhost nmon16d]$ uname -a
Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

对照上图,我是VMware虚拟机安装的64位centos6.5。

接着下载nmon软件包:

1,wget方式下载,地址:  https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz

[qgc@localhost nmon16d]$ wget https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz
--2018-08-27 11:26:11--  https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz
Resolving nchc.dl.sourceforge.net... 211.79.60.17, 2001:e10:ffff:1f02::17
Connecting to nchc.dl.sourceforge.net|211.79.60.17|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9252938 (8.8M) [application/x-gzip]
Saving to: “nmon16d_x86.tar.gz”100%[===========================================================>] 9,252,938   1.77M/s   in 5.0s    2018-08-27 11:26:17 (1.77 MB/s) - “nmon16d_x86.tar.gz” saved [9252938/9252938][qgc@localhost nmon16d]$ ls
nmon16d_x86.tar.gz 

2,官网手动下载,地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Downlo ,翻译了下,如下图

因为CentOS就是 RedHat 的免费版本(上面内核版本 2.6.32-431.el6.x86_64),所以对应系统是RHEL 6.5,选择右边包含RedHat 6.5的下载。

三,解压安装

下载完成后,可以新建一个目录,作为解压后存放的目录,这里为nmon16d,如果是手工下载的,需要拷贝到虚拟机。

[qgc@localhost Desktop]$ mkdir nmon16d

输入解压命令:tar -zxvf nmon16d_x86.tar.gz -C nmon16d ,-C 是指定解压目录

[qgc@localhost Desktop]$ tar -zxvf nmon16d_x86.tar.gz  -C nmon16d
nmon_power_32_linux
nmon_power_32_rhel6
nmon_power_32_sles11
nmon_power_64_kvm2
nmon_power_64_linux
...

在nmon6d目录中,可以找到nmon_x86_64_centos6这个文件,并对它添加执行权限

[qgc@localhost nmon16d]$ chmod +x nmon_x86_64_centos6

再把该程序文件加入环境变量运行目录,如果不是管理员,需要加上sudo命令

[qgc@localhost nmon16d]$ mv nmon_x86_64_centos6 /usr/local/bin/nmon
mv: cannot move `nmon_x86_64_centos6' to `/usr/local/bin/nmon': Permission denied
[qgc@localhost nmon16d]$ sudo mv nmon_x86_64_centos6 /usr/local/bin/nmon
[sudo] password for qgc:
[qgc@localhost nmon16d]$ 

四,运行Nmon

输入nmon命令启动Nmon,如下图

在上面的交互式窗口中,可以使用nmon 快捷键来显示不同的系统资源统计数据:

  • q : 停止并退出 Nmon
  • h : 查看帮助
  • c : 查看 CPU 统计数据
  • m : 查看内存统计数据
  • d : 查看硬盘统计数据
  • k : 查看内核统计数据
  • n : 查看网络统计数据
  • N : 查看 NFS 统计数据
  • j : 查看文件系统统计数据
  • t : 查看高耗进程
  • V : 查看虚拟内存统计数据
  • v : 详细模式

按下c,m,d后如下图,CPU、内存、磁盘的消耗情况都直观的展现出来了,按q键可以退出。

五,数据采集

性能测试时,需要根据测试场景的执行情况,分析一段时间内系统资源的变化,这时需要nmon采集数据并保存下来,以下是常用的参数:

-f 参数:生成文件,文件名=主机名+当前时间.nmon

-T 参数:显示资源占有率较高的进程

-s 参数:-s 10表示每隔10秒采集一次数据

-c 参数:-s 10表示总共采集十次数据

-m 参数:指定文件保存目录

具体的参数学习可参考博客:https://www.cnblogs.com/iclk/p/4456311.html

如每隔5秒采集一次,一共采集12次,就是1分钟的数据(生成的文件已标红):

[qgc@localhost nmon16d]$ nmon -f -s 5 -c 12 -m /home/qgc/Desktop/
[qgc@localhost nmon16d]$ nmon -f -T -s 5 -c 12 -m /home/qgc/Desktop/
[qgc@localhost Desktop]$ ls
lmon16g.c                   localhost_180827_2318.nmon  nmon16d_x86.tar.gz
localhost_180827_2317.nmon  nmon16d                     Test

数据采集完毕后,如需关闭nmon进程,需要获取nmon的pid(已标红)

[qgc@localhost Desktop]$ ps -ef | grep nmon
qgc        4455(pid)   4349(ppid)  0 23:40 pts/0    00:00:00 nmon
qgc        4491   4429  0 23:40 pts/1    00:00:00 grep nmon

再安全杀掉该进程:kill -9 pid

[qgc@localhost Desktop]$ kill -9 4455
[qgc@localhost Desktop]$ ps -ef | grep nmon
qgc        4493   4429  0 23:40 pts/1    00:00:00 grep nmon

定时任务

除配合性能测试的短期监控,我们也可以实现对系统的定期监控,作为运营维护阶段的参考。定期监控实现如下:

  1. 执行命令:#crontab  –e
  2. 在最后一行添加如下命令:
0 8 * * 1,2,3,4,5  /nmon/nmon_x86_rhel5  -f -N -m /nmon/log  -s 30 -c 1200

表示:周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log

六,数据分析

1,下载nmon analyser

借助nmon analyser可以把nmon采集的数据生成直观的Excel表,nmon analyser可以在IBM的官网下载,https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems/page/nmon_analyser

在windows上下载后解压,有word和exce两个文档,Word是说明文档,包括更新日志,详细参数等,其中的Excel就是nmon analyser工具了。

2,打开nmon analyser

双击打开nmon analyser v54.xlsm,点击Analyze nmon data按钮:

 注:因为我用的个人免费版WPS(10.1),没有包含宏,需要安装宏插件(VBA for WPS),Excel是自带宏插件的,如果宏不能运行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。

 3,下载VBA for WPS

地址:https://pan.baidu.com/s/1QzW4ebQxYQtxgVfkTmxVJw,下载VBA7.0.1590_For WPS(中文).exe后,先退出WPS,再直接安装就行,再次打开nmon analyser,启用宏

4,使用nmon analyser生成图表

成功打开nmon analyser后,点击Analyze nmon data按钮,选择nmon数据文件,会再次提示另存为,选择地址保存即可。

下图就是nmon生成的数据报告截图,底部可以切换其他资源信息。

性能测试之nmon对linux服务器的监控 侵删相关推荐

  1. 性能测试之nmon对linux服务器的监控

    最近因为公司做测试需要写报告监控服务器cpu内存等,特意恶补了一下 软件介绍 分析工具 分析 AIX 和 Linux 性能的免费工具, 这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号 ...

  2. linux服务器监控谁改了文件,linux服务器文件监控

    linux服务器文件监控 内容精选 换一换 为了防止您的主机被勒索病毒侵害,请创建防护策略,将重点防御的文件添加到防护策略的监控路径中,并启动机器学习.机器学习会自动聚类并收集该策略下的所有服务器的正 ...

  3. 【无标题】Linux服务器上监控网络带宽的18个常用命令

    Linux服务器上监控网络带宽的18个常用命令 linux网络流量网络监控工具安装时,但是部分系统yum安装提示是没有这个包, 我们安装EPEL第三方软件源.EPEL(Extra Packages f ...

  4. 用Python脚本实现对Linux服务器的监控

    一.前言 二.概述 三.Python 版本说明 四./proc 文件系统 五.对CPU监测 六.对系统负载监测 七.对内存信息的获取 八.对网络接口的监测 九.监控apache服务器进程的Python ...

  5. Linux服务器上监控网络带宽的18个常用命令和工具

    Linux服务器上监控网络带宽的18个常用命令和工具 一.如何查看CentOS的网络带宽出口 检查维护系统的时候,经常会要查看服务器的网络端口是多大的,所以需要用到Linux的一个命令. 如何查看Ce ...

  6. 用 Python 脚本实现对 Linux 服务器的监控

    版本说明 Linux 服务器是 Ubuntu 12.10 Python 版本 是 2.7 工作原理:基于/proc 文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核, ...

  7. Linux服务器上监控网络带宽与监控性能命令大全

    [51CTO精选译文]本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以 ...

  8. 多测师肖sir_高级金牌讲师_性能测试之nmon(007)

    nmon基本介绍, nmon是帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新. 分析工具 分析 AIX 和 Linux 性能的免费工具, 这个高效的工具可以工作于任何屏幕.telne ...

  9. Linux服务器上监控网络带宽的18个常用命令

    本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带 ...

最新文章

  1. 信息安全系统设计基础第三周学习总结
  2. 《Java从小白到大牛》之第14章 异常处理(上)
  3. 【转载】DotNet 资源大全中文版
  4. MultiRow发现之旅(一)- 高效模板设计器
  5. Android中活动Activity方面的知识点
  6. python和javascript哪个好_Python
  7. nodejs express使用node-xlsx实现文件的上传下载导入导出
  8. KVM安装Win系列虚拟机学习笔记
  9. 三国中最精辟的十句话
  10. SEO按天关键词计费排名查询系统源码
  11. Hibernate获取数据方式与缓存使用
  12. Ubuntu下部署SVN+SVNManager
  13. codeforces1428F Fruit Sequences
  14. 【网络--实验】华三防火墙命令行调试实例
  15. 如何将一个向量投影到一个平面上_向量的各种积
  16. 公众号快速涨粉方法汇总
  17. 罗技 连点 脚本_轻松办公 如入无人之静 罗技MK295静音键鼠套装全球首发震撼上市...
  18. python读取txt文件如何按数字分隔_python 读txt文件,按‘,’分割每行数据操作
  19. Leetcode典型题解答和分析、归纳和汇总——T155(最小栈)
  20. [HCIP] 03 - 路由控制之路由策略

热门文章

  1. 内网环境 CentOS7 搭建本地repo仓库源
  2. 匹配指定字符背后的所有内容(正则表达式)
  3. EasyRecovery免费电脑硬盘数据恢复软件使用教程
  4. 成都榆熙电子商务有限公司:旗舰店都有哪些优势?
  5. 生动的ajax图片显示效果,LightBox
  6. 迁移学习和微调深度卷积神经网络
  7. java 的德鲁伊连接池_德鲁伊连接池-Druid
  8. mysql 百分比两位小数_SQL中如何让百分比后面保留2位小数?
  9. IMX6Q安卓解开温度墙,设置高性能模式
  10. 使用freemarker导出Word文档(含图片)