热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux使用nmon监控、分析系统性能

一、概述nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的

一、概述

nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。

nmon所记录的数据包含以下一些方面(也是我们在寻找问题过程中所关注的资源点):

  ·cpu占用率

  ·内存使用情况

  ·磁盘I/O速度、传输和读写比率

  ·文件系统的使用率

  ·网络I/O速度、传输和读写比率、错误统计率与传输包的大小

  ·消耗资源最多的进程

  ·计算机详细信息和资源

  ·页面空间和页面I/O速度

  ·用户自定义的磁盘组

  ·网络文件系统

另外在AIX操作系统上,nmon还能监控到其他的一些信息,如异步I/O等。


二、下载安装nmon

1、下载安装包:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download
选择下载相应的版本,我下载的是 nmon16d_x86.tar.gz。解压后里边有很多版本的nmon,我用的是nmon_linux_x86_64,亲测可用。
2、直接在window中将解压好的nmon_linux_x86_64通过sftp上传到要监控的linux系统中对应目录下
3、执行授权命令:
# chmod +x  nmon_x86_64_linux
4、运行./nmon_x86_64_linux,便可进入nmon的监控界面,如下图:


三、实时监控

在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相 关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键 “H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种方式显示信息实时性强,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据均是实时刷新,一目了然。


键入“c”查看系统CPU使用情况


键入“m”查看系统内存使用情况


键入“d”查看系统磁盘I/O情况


键入“h”查看帮助信息



四、nmon数据采集


4.1数据采集

  为了实时监控系统在一段时间内的使用情况并将结果记录下来,我们可以通过运行以下命令实现:

  #./nmon_x86_64_linux -f-t -s 30 -c 180 -m /home/

  n -f:按标准格式输出文件:_YYYYMMDD_HHMM.nmon;

  n -t:输出中包括占用率较高的进程;

  n -s 30:每30秒进行一次数据采集

  n -c 180:一共采集180次

-m 生成的数据文件的存放目录。

输入命令回车后,将在/home目录生成一个hostname_timeSeries.nmon的文件,如果hosname为test1,生产的文件为:LS-HDP-MH-VM-173-188_161108_1412.nmon。

如果想停止该监控,需要通过“#ps –ef|grep nmon”查询进程号,然后杀掉该进程以停止监控。

通过sort命令可以将nmon结果文件转换为csv文件:

  # sort -A LS-HDP-MH-VM-173-188_161108_1412.nmon> LS-HDP-MH-VM-173-188_161108_1412.csv

  执行完sort命令后即可在当前目录生产LS-HDP-MH-VM-173-188_161108_1412.csv文件。


4.2生成图形化结果

为了分析nmon监控获得的结果,IBM还提供了相应的图形化分析工具nmon_analyser,通过nmon analyser.xls工具可以把监控的结果文件转换成excel文件,方便分析系统的各项资源占用情况。

下载nmon_analyser(生成性能报告的免费工具):

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser

  nmon analyser.xls工具的使用方法如下:

  (1)打开nmonanalyser.xls工具;

  (2)调整excel宏安全性:工具-宏-安全性

  (修改安全级别与可靠发行商)

  (选择)安全级别:低

  (勾上)信任所有安装的加载项和模板

  (勾上)信任对于“Visual Baisc项目”的访问

  (3)修改完后,确定-关闭nmon analyser.xls,重新打开;

  (4)点击Analyse nmondata按钮,加载之前下载的LS-HDP-MH-VM-173-188_161108_1412.nmon文件。

  以下是分析结果的截图:



五、结束nmon运行

nmon运行本身是会消耗系统资源,如需关闭nmon,直接kill掉

# ps -ef | grep nmon      (得到pid)

# kill -9pid                          (安全kill)


六、定时任务

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

1)   执行命令:#crontab -e

2)   在最后一行添加如下命令:
0 8 * * 1,2,3,4,5  /opt
/nmon_x86_64_linux  -f -N -m/nmon/log  -s 30 -c 1200
表示:
周一到周五,从早上08点开始,监控10个小时(到18:00整为止),输出到/nmon/log


七、nmon关键指标列表

4.1 系统汇总(对应excel标签的‘SYS_SUMM’)
蓝线为cpu占有率变化情况;
粉线为磁盘IO的变化情况;
4.2磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)
蓝色为磁盘读的速率KB/sec
紫色为磁盘写的速率KB/sec
4.3内存情况汇总(对应excel标签的‘MEM’)


推荐阅读
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • 本文介绍如何从JSON格式的文件中提取数据并将其分配给Bash脚本中的变量。我们将探讨具体的命令和工具,帮助你高效地完成这一任务。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
author-avatar
iar2984165
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有