jmeter.bat是jmeter在windows系统下的启动文件。在使用jmeter压测,线程数设置过多时可能会报内存溢出(Out Of Memory Error),这时候可以去尝试调整一下jmeter.bat文件里面默认的配置。

  注:我使用的jmeter版本是3.2,有时候在Q群看到有人问安装一个插件之后为什么报错,这时候需要注意是不是版本兼容性问题,很多插件都比jmeter版本滞后了。

1、堆值(Heap)

一般来说,堆值Heap最多设置为物理内存的一半,默认为512M。如果此值超过物理内存的一半,jmeter运行速度会变慢,甚至会出现“内存溢出”错误。(Xms、Xmx的含义看下面)

我设置的为【set HEAP=-Xms256m -Xmx1024m】。说明:jdk32位的电脑Xmx不能超过1400,最高为1378。

----------------------------------------------------------分割线---------------------------------------------------------------

如果服务器端报错“内存溢出”,进入Tomcat,修改JVM的maxheapmemory。在%CATALINA_HOME%\bin目录下,catalina.bat文件:echo Using CATALINA_BASE: %CATALINA_BASE%之前,加上:

set JAVA_OPTS=%JAVA_OPTS% -server –Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M

参数说明:

Xms:Tomcat中JVM内存初始设置参数,默认为512M;

Xmx:Tomcat中JVM内存最大设置参数,默认为512M;

-XX:PermSize=256M
设置永久域(非堆内存)的初始值,默认是物理内存的1/64, 建议不要超过256M;
-XX:MaxPermSize=512M
设置永久域的最大值,默认是物理内存的1/4,建议修改为512M;

----------------------------------------------------------------------------------------------------------------------------------

2、GC相关设置

这个是JVM中GC算法的一个相关设置,其中:

1)MaxGCPauseMillis:每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。(此参数请谨慎使用!)

2)G1ReservePercent:使用g1收集器时设置的保留java堆大小,防止JVM在回收存活或者晋升对象的时候,栈区域溢出发生失败。范围是0到50,默认是10%。

3、发生OOM时,生成分析文件

在发生OOM时dump出当前的内存转储快照,生成dump文件(可用mat分析),默认存储在jvm运行环境目录。后面也可以添加参数-XX:HeapDumpPath=/path/heap/dump,说明dump文件存储的路径。

jmeter.bat配置(主要关于OOM)的更多相关文章

  1. jmeter安装配置教程

    1.下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版为3.1,其余文件如源代码等也可从如下官网下载: http://jm ...

  2. [Jmeter]打开jmeter.bat报错的解决思路与方法

    解决过程: 打开apache-jmeter-3.0的jmeter.bat时,报错如下: 查看报错信息,应该是属于环境变量配置问题. 因此加上jave_home的路径语句在jmeter.bat文件上: ...

  3. 运行Jmeter.bat出错:Not able to find java executor or version. Please check your installation. errorlevel=2

    下载JMeter. 解压后运行Jmeter.bat竟然报错了. 解决办法整理: 方法1: 1.检查JDK环境变量配置: ①系统变量→新增JAVA_HOME. 变量值填写jdk的安装目录(本人是 E:\ ...

  4. jmeter环境配置

    Java 8 安装 正常安装,一路默认就好,记住安装路径,配置环境变量时用得到.默认安装路径:C:\Program Files\Java\jdk1.8.0_91. 安装好之后会有两个文件夹一个是jdk ...

  5. JMeter安装+配置+运行

    环境配置: 操作系统:Win7系统 jdk版本:1.8 JMeter版本:3.0 一  JMeter的安装配置过程 JMeter是100%纯java应用程序,它在任何支持完整java实现的系统上都能正 ...

  6. jmeter 各种配置修修改(后续增加)

    1.修改物理内存  使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="-Xmx ...

  7. jmeter解压后启动jmeter.bat报错:Not able to find java executable or version

    错误详情: 错误解决方法: 修改环境变量配置将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;移动到%SystemRoot%\system32;%SystemRoot%;%Sy ...

  8. Jmeter:内存配置 -- 转发

    在压测过程中jmeter报内存溢出,可能的原因有很多.要注意下面三点: 1.单击压测过程中使用过多的线程,官网建议1000-2000.具体看机器的配置和启动应用的情况.(A single JMeter ...

  9. 运行jmeter.bat时 提示 not able to find java executable or version

    安装过好几次,这是第一次遇到运行jmeter.bat时 提示 not able to find java executable or version Please check your Java in ...

随机推荐

  1. DRF序列化/反序列化

    反序列化(不推荐版):两个字段 一个为正序准备,一个为反序准备重写create update方法 1. 确定数据结构: 自己定义key book_obj = { "title": ...

  2. BZOJ1802: [Ahoi2009]checker(性质分析 dp)

    题意 题目链接 Sol 一个不太容易发现但是又很显然的性质: 如果有两个相邻的红格子,那么第一问答案为0, 第二问可以推 否则第一问答案为偶数格子上的白格子数,第二问答案为偶数格子上的红格子数 #in ...

  3. mongodb3.X权限配置

    环境: CentOS6.8  mongodb3.4.1 1.连接mongodb数据库(如果mongo命令没有做环境变量配置,需要定位到有mongo命令的目录) [root@VM_118_34_cent ...

  4. PostMan请求不到接口问题

    在些接口的时候经常需要调试,调试的有很多选择,比如swagger.postman,我就是使用过两个都用:为了避免被swagger坑到就再去用postman试试确认看行不行,结果太小白了还是遇到了一些问 ...

  5. centos7 安装ldap

    ldap首先我们要知道这个ldap的概念, LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写 目录是一个为查询.浏览和搜索而优化的专业分布 ...

  6. 乘风破浪:LeetCode真题_023_Merge k Sorted Lists

    乘风破浪:LeetCode真题_023_Merge k Sorted Lists 一.前言 上次我们学过了合并两个链表,这次我们要合并N个链表要怎么做呢,最先想到的就是转换成2个链表合并的问题,然后解 ...

  7. docker18.ce harbor 安装

     Harbor 是什么? harbor VMware 开发的一个容器镜像仓库,harbor的功能提供用户权限管理.镜像复制等功能,提高使用的registry的效率. 安装最新版的docker可以参考d ...

  8. Arcgis for Js之加载wms服务

    概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: ...

  9. 用python实现MRO算法

    引子: 如图反映了python3中,几个类的继承关系和查找顺序.对于类A,其查找顺序为:A,B,E,C,F,D,G,(Object),这并不是一个简单的深度优先或广度优先的规律.那么这个顺序到底是如何 ...

  10. Python中让MySQL查询结果返回字典类型的方法

    import pymysql host='localhost' user='root' passwd='root' port=3306 db='test' db=pymysql.connect( ho ...