如何使用nmon定时监控服务器资源
通常我们使用nmon配合进行性能测试时,首先是先在服务器上执行nmon监控命令,然后执行性能测试脚本,例如执行jmeter脚本,然后脚本执行完毕后,从服务器上下载nmon监控文件。但是如果运行一个jmeter脚本需要监控很多服务器的时候,每次在执行脚本之前都要到服务器上进行执行nmon命令,比较耗费时间。
为了更好的进行测试,提高效率,我们可以使用crontab中定时的写入nmon监控命令,比如我们可以在整点的时候执行一个监控一个小时的nmon命令,比如可以输入频率是12s一次,监控次数是300次,这样每个小时都会生成一个监控一个小时的文件,这样我们只需要执行jmeter脚本,记录执行脚本的开始时间和结束时间就可以了,然后根据对应的执行脚本的时间去找到 对应时间的监控文件,查看服务器资源情况就好了。本文将会详细介绍实现这些操作的详细信息。
nmon文件下载
nmon文件下载路径
https://nmon.sourceforge.io/pmwiki.php
nmon文件上传到服务器,并授予可执行权限
将nmon文件上传到服务器上
1、如将下载下来的nmon_x86_64_centos7重命名为nmon,然后将nmon文件传送到服务器上的某个文件夹,比如将nmon放到/home/test/目录下面
2、授予可执行权限
chmod u+x /home/test/nmon
当nmon具有可执行权限后,将会变成绿色
3、使用命令验证可执行权限是否授予成功
首先进入test目录如下命令
cd /home/test
其次使用命令执行
./nmon -f -s 5 -c 12 -m /home/test
如果授权成功执行上面的命令后,将会生成一个以当前机器名和当前日期为前缀的一个nmon文件,形如如下文件名
nmon执行命令的含义
#./ nmon -f -t -s 30 -c 180 -m /home/test
-f:按标准格式输出文件:_YYYYMMDD_HHMM.nmon;
-t:输出中包括占用率较高的进程;
-s 30:每30秒进行一次数据采集
-c 180:一共采集180次
-m /home/test :将生成的.nmon文件保存到/home/test路径下
定时执行nmon文件
1、在crontab -e中编写定时脚本执行nmon监控命令
2、举例说明
例如:每个小时生成一个nmon监控脚本,监控时长是1小时
0 * * * * /home/test -f -s 12 -c 300 -m /home/test
例如:在进行稳定性测试的时候,每天从19点到另一天早上7点执行12小时稳定性测试,可以监控包含这12小时的时间,我们可以写一个脚本每天18:30生成一个监控14小时的nmon文件,命令如下
30 18 * * * /home/test -f -s 300 -c 168 -m /home/test
这样在我们的监控目录中就会生成对应的监控文件
我们在进行测试的时候就不需要手动的去执行nmon监控命令,只需要记录好每次执行jmeter脚本的开始时间和结束时间,然后根据开始时间和结束时间找到对应的文件
比如:在测试登录接口的时间段是8月24日9点到11点,我们就可以找到localhost_230824_0900.nmon这个文件进行分析,查看具体的时间点的资源利用情况
使用分析工具分析.nmon文件
1、点击nmon Analyser,进入分析工具下载页面
2、下载对应的分析工具
3、下载后使用excel打开,点击分析按钮,打开要分析的nmon文件