工具简介
nmon是IBM公司开发的Linux性能监控工具,可以实时展示系统性能情况,也可以将监控数据写入文件中,并使用nmon分析器做数据展示。nmon构成:nmon监控工具+nmon分析工具
安装与简单命令
- 安装
Linux性能监控命令_nmon 安装与使用_nmon安装_〖羊头〗➫ lsy的博客-CSDN博客
- 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实现定时监控任务,对服务长期监控也有意义。
一个实例:
- 运行Demo程序
import numpy as np
# 定义一个numpy方法,创建大量的numpy数组,持续执行
def many_arry():
arr = np.zeros((10000, 10000))
return arr
arry = many_arry()
while True:
continue
- 执行nmon组合命令
执行命令
./nmon -f -t -s 3 -c 200
10min后会在指定目录生成一个.nmon的系统数据收集文件,将该文件下载到PC上(可以使用WinSCP工具、或者sz命令),用nmon分析工具进行分析,即可得到一个.nmon.xlsx文件,打开就是我们想要的统计图了。
- 系统运行期间,我们可以通过系统实时监控命令来获取系统运行情况,及时记录也有助于分析系统瓶颈。常用的监控命令组合:
- -dstat命令组合
dstat -tcmnd --disk-util
-t 启用时间和日期输出
-c 统计cpu
-n 统计net,包括接收和发送
-m 统计内存,包括used,buffers,cache,free
-d 统计disk
--disk-util 显示某一时间磁盘的忙碌状况
- top命令
Linux中TOP命令参数详解_whl826661099的博客-CSDN博客
- 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
最终效果