1、nmon工具的下载和安装:

官网:http://nmon.sourceforge.net/pmwiki.php

下载完成后进行解压,更改权限:chmod 777

2、查看linux系统的版本,再使用对应版本的nmon:

[root@jmeter ~]# cat /etc/*release
CentOS release 6.6 (Final)
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
CentOS release 6.6 (Final)
CentOS release 6.6 (Final)

 可以看出,我的是linux centos6、64位版本,所以使用nmon_x86_64_centos6。 

3、压测过程中对CPU、内存、磁盘、网络的监控:

输入c:查看CPU使用情况,主要关注%use,%sys

输入m:查看内存使用情况

Total in MB:总的内存

    Free  in MB:可用内存

输出n:查看网络

    Recv=KB/s:每秒内接收到的数据

    Trans=KB/s:每秒内传输的数据

输入d:查看磁盘

输入t:Top Processes,进程信息

监控截图

4、还可以使用后台运行模式进行监控,例如:

[root@jmeter nmon]# ./nmon_x86_64_centos6 -f -s 30 -c 30
[root@jmeter nmon]# ll
total 31572
-rw-r--r--. 1 root root 25608 Sep 13 00:14 jmeter_180913_0014.nmon

 可看到自动生成一个nmon文件 

参数解释:

-t 输出中包括占用率较高的进程;
-s 每 n 秒采集一次数据。
-c 采集 m 次,即为采集(n*m/60)分钟的数据。
-f 生成的数据文件名中包含文件创建的时间。
-m 生成的数据文件的存放目录。

 5、设置一个定时,周一到周五,从早上9点开始监控:

 crontab -e
0 9 * * 1,2,3,4,5 /root/benben/nmon/nmon_x86_64_centos6 -f -s 2 -c 180 -m /root/benben/nmondata

 6、生成的.nmon文件可以nmon analyser v34a.xls打开

office版本不同,使用的nmon analyser版本也不同

官网地址:http://www.ibm.com/developerworks/aix/library/au-nmon_analyser/

   7、抽取: 

  一般情况下CPU利用率
  User%应占70%左右,
  Sys%应占30%左右,如果Sys%或Wait%占比等于或超过了User%
  则应该关注是什么引起了过多的系统消耗,可能是大量的Disk或Network I/O。

 

压测过程中使用nmon对服务器资源的监控的更多相关文章

  1. 压测过程中,获取不到redis连接池,发现redis连接数高

    说明:图片截得比较大,浏览器放大倍数看即可(涉及到隐私,打了码,请见谅,如果有疑问,欢迎骚扰). 最近在压测过程中,出现获取不到redis连接池的问题 xshell连接redis服务器,查看连接数,发 ...

  2. 压测过程中,CPU和内存占用率很高,案例简单分析

    Q:  最近公司测试一个接口,数据库采用Mongo    并发策略:并发400个用户,每3秒加载5个用户,持续运行30分钟    数据量:8000条左右 压测结果发现:    TPS始终在5左右   ...

  3. 压测过程中出现ops断崖式下跌原因及排解

    压测机器: 100台docker redis集群:16个分片 在开始压测的半个小时中,一直很稳定,ops稳定在20w左右.但是接下来突然ops断崖式下跌,ops降到了3w以下.然后持续一段时间,直至变 ...

  4. 性能测试:Jmeter压测过程中的短信验证码读取

    问题背景 现如今国内的大部分软件或者网站应用,普遍流行使用短信业务,比如登录.注册以及特定的业务通知等. 对于这些业务,在使用Jmeter进行性能测试的过程中,就会需要自动获取和填入短信验证码,否则性 ...

  5. jmeter进行分布式压测过程与 注意事项

    jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...

  6. jmeter压测过程中报java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider

    由于在java中添加了第三方安全策略文件,具体请看https://www.cnblogs.com/mrjade/p/10886378.html,导致在用jmeter压测过程中会遇到以下错误 解决办法: ...

  7. ionic 运行过程中动态切换API服务器地址

    ionic 运行过程中动态切换API服务器地址 keywords: ionic,phonegap,cordova,网络制式,动态切换,变更,API,服务器地址,$resource,localstora ...

  8. Jmeter压测过程报错the target server failed to respond

    失败事务报错信息如下, Socket closed Non HTTP response code: org.apache.http.NoHttpResponseException (the targe ...

  9. sysbench压测过程

    1.sysbench安装(sysbench1.1.0)  [root@master soft]# ls sysbench1.1.0.zip sysbench1.1.0.zip 解压: [root@ma ...

随机推荐

  1. 时间、日历(time、calendar、datatime)

    import time import calendar import datatime #获取代码运行的时间差 start = time.time() end = time.time() print( ...

  2. xgboost 最优参数, df某一个字段进行字符串搜索

    0.909323  with:   {'max_depth': 6, 'min_child_weight': 0.8, 'n_estimators': 800} df_huoguo = df[df.c ...

  3. jq点击事件未生效

    jq点击事件未生效,应写成事件委托的方式 // $(function(){ // $('.current a').on("click", function(){ // $(this ...

  4. Cocos Creator 构建发布... APP ABI(选项)

    APP ABI 选项对应的是设备的 CPU 架构.勾选不同的值,编译出来的 apk 可以适用于不同的设备.勾选的越多,适配的机器越多.但是相应的 apk 包体越大. 需要根据自己的项目实际情况决定要编 ...

  5. Qt QLineEdit 漂亮的搜索框 && 密码模式 && 格式化输入 && 提示文字 && 选择内容并移动 && 清除全部输入

    先上一个漂亮的搜索框效果图, 输入搜索文本效果, 点击搜索图标效果: //实现代码 void MainWindow::iniLineEdit() { ui->lineEdit->setPl ...

  6. [React Native] change port when running react native

    Two ways to do that. First, use this module to do that, https://github.com/ktonon/react-native-port- ...

  7. Python 嘉宾列表问题

    某书上的练习题,当作复习8 #3-5 修改嘉宾名单 def alter(someone, other): if someone in din_list: din_list.remove(someone ...

  8. github文件上传与下载

    一.文件上传 ①.注册并登陆github,进入Github首页,点击New repository新建一个项目. ②.填写相应信息后点击create即可 Repository name: 仓库名称 De ...

  9. ssm框架搭建的基本配置(一站式教会你搭建)

    首先是需要的jar包: <dependency> <groupId>org.springframework</groupId> <artifactId> ...

  10. toggle,hasClass

    toggle 但当toggle(),不带参数时,与show()和hide()的作用一样,切换元素的可见状态,如果元素是可见的,则切换为隐藏状态;如果元素是隐藏的则切换为可见状态,此时括号内可添加()毫 ...