linux下使用性能分析工具nmon

一 简介
nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它并不会消耗大量的 CPU 周期,通常低于百分之二。在更新的计算机上,其 CPU 使用率将低于百分之一。
使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段。如果您拉伸窗口,并在X WindowsVNCPuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。
nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式 (.csv)。
nmon 工具可以为 AIX  Linux 性能专家提供监视和分析性能数据的功能,其中包括:
  • CPU 使用率
  • 内存使用情况
  • 内核统计信息和运行队列信息
  • 磁盘 I/O 速度、传输和读/写比率
  • 文件系统中的可用空间
  • 磁盘适配器
  • 网络 I/O 速度、传输和读/写比率
  • 页面空间和页面速度
  • CPU 和 AIX 规范
  • 消耗资源最多的进程
  • IBM HTTP Web 缓存
  • 用户自定义的磁盘组
  • 计算机详细信息和资源
  • 异步 I/O,仅适用于 AIX
  • 工作负载管理器 (WLM),仅适用于 AIX
  • IBM TotalStorage? Enterprise Storage Server? (ESS) 磁盘,仅适用于 AIX
  • 网络文件系统 (NFS)
  • 动态 LPAR (DLPAR) 更改,仅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower
还包括一个用来从 nmon 的输出生成图形并创建可以在 Web 站点显示的 .gif 文件的新工具。

二 获取
    或者直接从这获取,还包含分析工具 

三 使用
解压后,可以看到各个平台的文件,我们只需要使用适合的即可,一般是nmon_linux_x86_64。
$ cp nmon_linux_x86_64 nmon
$./nmon 
首次使用会提示“./nmon: Permission denied”
执行  chnod 777 ./nmon 即可
成功后,会看到这样的界面
上面显示了具体的用法,比如输入‘n‘,就会显示网络I/O,‘d‘显示磁盘信息,‘m‘显示内存信息,等等;

四 其他选项
一般我们用-s ,-c -f选项比较多,比如 
$./nmon -s 1 -c 3600 -f
输出频率为1秒1次,总共3600次,即1小时,文件名以<hostname>_YYYYMMDD_HHMM.nmon的形式保存,如localhost_140625_1614.nmon
生成文件后,转化成*.csv文件,便于分析工具进行分析。
$sort localhost_140625_1614.nmon > localhost_140625_1614.csv 

五  生成报告
    上面的工具包已经包含nmon analyser v33g.xls,
打开
点击 ‘选项’
选择显示此内容,然后点击‘analyse nmon data‘,找到对应的csv文件,便会生成xlsx文件,如localhost_140625_1614.xlsx,里面便是详细的报告。

六 nmon报告分析
报告生成后,会生成各种数据以及详细的表格数据,包括网络,磁盘,CPU等等,详细参数以及说明请查看
以NET选项为例,此报告是以一个轻量级的网络库进行的测试,使用epoll模型,10000个连接,每个连接以10 packet/sec的频率发送,每个包大小约100bytes,代码源自https://github.com/yuyunliuhen/tinynet 。
监测分2段,第一段为连接的前一个小时直到全部连接成功;第二段为稳定运行12小时后的一小时。
第一段:
从17:11开始,随着连接数的增加,网络流量线性增长;17:26时,趋于平稳。因为是echo模型,所以读写基本一致,稳定后均值在10M/sec左右。
第二段:
流量均值还是在10M/sec左右,读最大值50M/sec,写最大值38M/sec。
对于1000Mb网卡来说,10M远低于1000Mb/8=125M,带宽流量不存在瓶颈。
其他的性能数据图表与上类似,在此不一一列举了!
参考:




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。