linux下使用性能分析工具nmon

时间:2020-12-23 16:08:05
一 简介 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 文件的新工具。

二 获取     http://sourceforge.jp/projects/sfnet_nmon/releases/     或者直接从这获取,还包含分析工具 linux下使用性能分析工具nmon
三 使用 linux下使用性能分析工具nmon 解压后,可以看到各个平台的文件,我们只需要使用适合的即可,一般是nmon_linux_x86_64。 $ cp nmon_linux_x86_64 nmon $./nmon  首次使用会提示“./nmon: Permission denied” 执行  chnod 777 ./nmon 即可 成功后,会看到这样的界面 linux下使用性能分析工具nmon 上面显示了具体的用法,比如输入'n',就会显示网络I/O,'d'显示磁盘信息,'m'显示内存信息,等等; linux下使用性能分析工具nmon
四 其他选项 linux下使用性能分析工具nmon 一般我们用-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, 打开 linux下使用性能分析工具nmon 点击 ‘选项’ linux下使用性能分析工具nmon 选择显示此内容,然后点击'analyse nmon data',找到对应的csv文件,便会生成xlsx文件,如localhost_140625_1614.xlsx,里面便是详细的报告。
六 nmon报告分析 报告生成后,会生成各种数据以及详细的表格数据,包括网络,磁盘,CPU等等,详细参数以及说明请查看 linux下使用性能分析工具nmon 以NET选项为例,此报告是以一个轻量级的网络库进行的测试,使用epoll模型,10000个连接,每个连接以10 packet/sec的频率发送,每个包大小约100bytes,代码源自https://github.com/yuyunliuhen/tinynet 。 监测分2段,第一段为连接的前一个小时直到全部连接成功;第二段为稳定运行12小时后的一小时。 第一段: linux下使用性能分析工具nmon linux下使用性能分析工具nmon linux下使用性能分析工具nmon 从17:11开始,随着连接数的增加,网络流量线性增长;17:26时,趋于平稳。因为是echo模型,所以读写基本一致,稳定后均值在10M/sec左右。 第二段: linux下使用性能分析工具nmon linux下使用性能分析工具nmon linux下使用性能分析工具nmon 流量均值还是在10M/sec左右,读最大值50M/sec,写最大值38M/sec。 对于1000Mb网卡来说,10M远低于1000Mb/8=125M,带宽流量不存在瓶颈。 其他的性能数据图表与上类似,在此不一一列举了! 参考: http://baike.baidu.com/link?url=UYp8YULTXT04CLEHGP0HsYFff_5k1m-lyDGLFgGi_UDWSxu53T9lpo8YL4Fo6iLnQ-1_olo-M3UfIVR1E4wLGa