工具简介

nmon是IBM公司开发的Linux性能监控工具,可以实时展示系统性能情况,也可以将监控数据写入文件中,并使用nmon分析器做数据展示。nmon构成:nmon监控工具+nmon分析工具

安装与简单命令

  • 安装

Linux性能监控命令_nmon 安装与使用_nmon安装_〖羊头〗 

  • nmon组合命令
./nmon -f -t -s 3 -c 200 -m filedir 

-f 将结果导出到文件中
-t 输出中包括占用率较高的进程
-s 每x秒统计一次
-c 统计n次(过了x * n秒后,就会生成一个nmon文件。eg:200 * 3 = 600s=10min)
-m 指定文件保存的目录(不指定的话,默认在当前目录下自动生成该文件)

命令组合不限,nmon除了实现短期的资源监控,还能结合crontab实现定时监控任务,对服务长期监控也有意义。

一个实例:

  1. 运行Demo程序
import numpy as np

# 定义一个numpy方法,创建大量的numpy数组,持续执行
def many_arry():
    arr = np.zeros((10000, 10000))
    return arr

arry = many_arry()

while True:
    continue
  1. 执行nmon组合命令

执行命令./nmon -f -t -s 3 -c 20010min后会在指定目录生成一个.nmon的系统数据收集文件,将该文件下载到PC上(可以使用WinSCP工具、或者sz命令),用nmon分析工具进行分析,即可得到一个.nmon.xlsx文件,打开就是我们想要的统计图了。

linux nmon部署监控脚本 nmon监控命令-f_python

  1. 系统运行期间,我们可以通过系统实时监控命令来获取系统运行情况,及时记录也有助于分析系统瓶颈。常用的监控命令组合:
  • -dstat命令组合
dstat -tcmnd --disk-util

-t 启用时间和日期输出
-c 统计cpu
-n 统计net,包括接收和发送
-m 统计内存,包括used,buffers,cache,free
-d 统计disk
--disk-util 显示某一时间磁盘的忙碌状况
  • top命令

Linux中TOP命令参数详解 

  • ps命令
ps -ef | grep xxx 

-e 显示所有进程
-f 标准全格式显示
  • kill -9 端口号

通过监控上述例程对系统资源的影响,在监控过程中灵活使用监控工具和命令,得到我们想要的系统监控数据,进一步分析系统瓶颈

.nmon文件的分析

nmon.xlsx文件重点要关注的标签页

  • cup_all
  • diskbusy
  • net
  • mem
  • 生成网页分析图表

有的WPS普通用户不支持宏,需要升级到商业版才能使用,相比之下网页统计相对更直观,易用。

nmonchart为我们提供了生成html文档的监控工具,下面讲解它的使用。

nmonchart是一种Korn Shell,因此运行时需要预安装ksh才能使用,详情见官方文档

https://nmon.sourceforge.net/pmwiki.php?n=Site.Nmonchart

生成html文件的命令是:

ksh ./nmonchart hostname_date_time.nmon hostname_date_time.html

完成后会生成一个.HTML文件,将该文件下载到PC上,即可打开。

注意:国内不能fq的话google js源会被屏蔽,导致图表无法被渲染,因此,生成的.HTML文件需要修改js源,替换如下:

https://www.gstatic.com/charts/loader.js

最终效果

linux nmon部署监控脚本 nmon监控命令-f_python_02


linux nmon部署监控脚本 nmon监控命令-f_压力测试_03