nmon+nmonchart⽤法实现Linux系统⽣成性能报告Nmon (Nigel's Monitor)是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的⼯具。该⼯具可将服务器系统资源耗⽤情况收集起来并输出⼀个特定的⽂件,并可利⽤ excel分析⼯具(nmon analyser)或⽹页分析⼯具(nmonchart)进⾏数据的统计分析。
nmon 捕获数据到⽂件
捕获数据到⽂件,只要运⾏带 -f 标志的 nmon 命令。执⾏nmon –f ***后,nmon 将转为后台运⾏。要查看该进程是否仍在运⾏,可以输⼊: ps -ef | grep nmon。
安装
# 普通amd64电脑
sudo apt-get install nmon
# 飞腾、鲲鹏芯电脑
wget ports.ubuntu/pool/universe/n/nmon/nmon_16g+debian-3_arm64.deb
sudo dpkg -i nmon_16g+debian-3_arm64.deb
# 银河麒麟服务器
dnf install nmon
⽰例:
每1秒捕获数据快照,捕获20次,保存在home⽂件夹下:
nmon –f -s 1 -c 20 -m /home/
每30秒捕获数据快照,捕获120次,包含进程信息,保存在home⽂件夹下:
nmon –f -t -s 30 -c 120 -m /home/
每10秒捕获数据快照,捕获60次,保存在当前⽂件夹:
nmon -f -t -s 10 -c 60
每1秒捕获数据快照,捕获60次,保存在当前⽂件夹:
nmon -f -t -r nmonreport -s 10 -c 60
linux系统免费下载采集⼀天数据,300*288=86400 秒,正好是⼀天的数据。
nmon -s300 -c288 -f
周⼀到周五,从早上08点开始,监控10个⼩时(到18:00整为⽌),输出到/nmon/log
# A、执⾏命令:
crontab -e
# B、在最后⼀⾏添加如下命令:
0 8 * * 1,2,3,4,5 nmon -f -N -m /nmon/log -s 30 -c 1200
#表⽰:周⼀到周五,从早上08点开始,监控10个⼩时(到18:00整为⽌),输出到/nmon/log
参数解释:
命令的含义是:
-f :按标准格式输出⽂件名称:_
-
t :输出最耗资源的进程
-s :每隔n秒抽样⼀次,这⾥为10秒
-c :取出多少个抽样数量,这⾥为采集 60 次,即监控 = 10*60 = 600秒 = 10分钟
-m ⽣成的数据⽂件的存放⽬录
nmonreport:监控记录的标题
hostname:主机名
可⾃⾏根据⾃⼰需要的监控时间段,展开监控。
注:
该命令启动后,会在/usr/local/bin/nmon⽬录下⽣成监控⽂件,并持续写⼊资源数据,
直⾄360个监控点收集完成———即监控1⼩时,这些操作均⾃动完成,⽆需⼿⼯⼲预,
测试⼈员可以继续完成其他操作。
如果想停⽌该监控,需要通过“#ps –ef | grep nmon”查询进程号,再进⾏kill -9 nmon的pid,然后杀掉该进程以停⽌监控。
nmon -h查看更多帮助信息
参数⽤法
-f标准输出到表格⽂件,默认 -s300 -c288 ,为 24 ⼩时,输出⽂件格式为:hostname_
-F类似-f,但是⽀持指定输出⽂件的名称
-a GPU 加速,统计信息
-b切换⿊⽩和彩⾊模式
-b切换⿊⽩和彩⾊模式
-c总统计次数
-s数据统计间隔时间,单位为:秒
-d最⼤的磁盘数,默认 256
-D与-g ⼀起使⽤以添加磁盘等待/服务时间和运⾏中状态
-g⽤户定义的磁盘组获取数据:⽣成 BBBG 和 DG ⾏
-I设置忽略进程和磁盘繁忙阈值(默认为 0.1%),不要使⽤⼩于此百分⽐的百分⽐保存或显⽰ proc /磁盘-J关闭⽇志⽂件系统统计信息收集(可能导致⾃动挂载 NFS 出现问题)
-l数据捕获中的每⾏磁盘数可避免电⼦表格宽度问题。默认值为 150。EMC= 64。
-m把输出⽂件保存到指定⽂件夹。通过 cron 启动 nmon 时有⽤
-M为每个 CPU 线程添加 MHz 统计信息。某些 POWER8 型号 CPU 内核的频率可能不同
-N包括适⽤于 V2,V3 和 V4 的 NFS ⽹络⽂件系统
-p nmon 启动时将输出 PID。在脚本中很有⽤,可捕获 PID 以便以后安全停⽌。
-r在基准测试中⽤于记录运⾏详细信息,以供以后分析[默认主机名]
-t在输出中包括 top 流程
-T-t 增强,它将命令⾏参数保存在 UARG 部分中
-U包括 Linux 10 CPU 使⽤率统计信息(⽂件中的 CPUUTIL ⾏)
nmon数据采集
更多⽤法
0 0 * * * /usr/local/nmo -s300 -c288 -f -m /home/nmon/ > /dev/null 2>&1
crontab -e
表⽰:
300*288=86400 秒,正好是⼀天的数据。
0 8 * * 1,2,3,4,5 /usr/local/nmon -f -N -m /home/nmon/log -s 30 -c 1200
表⽰:
周⼀到周五,从早上08点开始,监控10个⼩时(到18:00整为⽌),输出到/home/nmon/log。
范例1:
⾃动按天采集数据:
在 crontab 中增加⼀条记录:
0 0 * * * nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1:
300*288=86400 秒,正好是⼀天的数据。
范例2:
A、执⾏命令:#crontab -e
B、在最后⼀⾏添加如下命令:
0 8 * * 1,2,3,4,5 /nmon/scriptn/mon_x86_rhel52 -f -N -m /nmon/log -s 30 -c 1200
表⽰:
周⼀到周五,从早上08点开始,监控10个⼩时(到18:00整为⽌),输出到/nmon/log
nmonchart⽤法
nmonchart是ksh,需安装ksh才可使⽤
amd64电脑
sudo apt-get install ksh
ARM芯⽚国产桌⾯系统
#下载
wget ports.ubuntu/pool/universe/k/ksh/ksh_93u+20120801-3.1ubuntu1_arm64.deb
#本地安装
sudo dpkg -i ksh_93u+20120801-3.1ubuntu1_arm64.deb
服务器nmonchart下载
# 下载 wget sourceforge/projects/nmon/files/nmonchart40.tar
# 解压 tar -xvf nmonchart40.tar
# 进⼊解压后的⽂件夹 cd nmonchart40
nmonchart修改
### 引⽤GoogleChartAPI(le/jsapi)会被qiang需修改
$ECHO '\t\t<script type="text/javascript" src="le/jsapi"></script>'
### 修改为
$ECHO '\t\t<script type="text/javascript" src="www.gstatic/charts/loader.js"></script>'
nmonchart使⽤
ksh nmonchart nmon⽣成⽂件.nmon ⽬标⽂件.html
提⽰异常:
安装之后,还是提⽰这个异常,查看提⽰中的/usr/bin/下的⽂件
发现没有ksh,
最后在/bin/下到了ksh
然后编辑nmonchart⽂件 vi nmonchart ,修改第⼀⾏#!/usr/bin/ksh 为#!/bin/ksh
然后再执⾏转换命令就好了
查看html
打开⽬标⽂件.html就可以看了,相较nmon analyser 只能在Windows上通过Excel或者WPS商业版使⽤,nmonchart可以使⽤⽹页较为⽅便。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论