修改jmeter内存配置(win&mac&linux)
Posted 做测试的喵酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改jmeter内存配置(win&mac&linux)相关的知识,希望对你有一定的参考价值。
目录
一、背景:
在进行大数据、高并发压测的过程性,有时会遇上JMeter卡死现象,使得测试无法进行,查看日志显示:java.lang.OutOfMemoryError: Java heap space
原因:运行jmeter机器的内存,占用较高,超过了jmeter设置的内存上限,内存溢出。
我们需要给jmeter配置足够大的内存。
二、win环境下修改jmeter内存
1、查找jmeter安装路径
可以去环境变量配置文件查看安装位置,或者使用命令
which jmeter
2、修改/apache-jmeter-5.4.3/bin/ 目录下的 jmeter.bat文件
将jmeter.bat 中的,这一行
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
HEAP 堆
-Xms:JVM初始分配的堆内存。表示初始化JAVA堆的大小及该进程刚创建出来的时候,他的专属JAVA堆的大小,一旦对象容量超过了JAVA堆的初始容量,JAVA堆将会自动扩容到-Xmx大小。
-Xmx:JVM最大允许分配的堆内存,按需分配。表示java堆可以扩展到的最大值,在很多情况下,通常将-Xms和-Xmx设置成一样的,因为当堆不够用而发生扩容时,会发生内存抖动影响程序运行时的稳定性。
这里我们将 -Xms -Xmx设置成 1个g
MaxMetaspaceSize:jvm中的元数据区。 一般256m就够了。
三、mac&linux环境下修改jmeter内存
1、查找jmeter安装路径
可以去环境变量配置文件查看安装位置,或者使用命令
which jmeter
2、修改/apache-jmeter-5.4.3/bin/ 目录下的 jmeter文件
HEAP 堆:
-Xms:JVM初始分配的堆内存。表示初始化JAVA堆的大小及该进程刚创建出来的时候,他的专属JAVA堆的大小,一旦对象容量超过了JAVA堆的初始容量,JAVA堆将会自动扩容到-Xmx大小。
-Xmx:JVM最大允许分配的堆内存,按需分配。表示java堆可以扩展到的最大值,在很多情况下,通常将-Xms和-Xmx设置成一样的,因为当堆不够用而发生扩容时,会发生内存抖动影响程序运行时的稳定性。
这里我们将 -Xms -Xmx设置成 1个g。通常将-Xms和-Xmx设置成一样的
MaxMetaspaceSize:jvm中的元数据区。 一般256m就够了。
将jmeter文件(注意不是jmeter.bat文件),这一行
: "$HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m""
修改 -Xms -Xmx
四、验证内存是否修改成功
1、修改完成后重新启动jmeter
2、启动jconsole 查看jmeter的内存
win 启动 jconsole:
Program Files\\Java\\jdk1.8.0_211\\bin\\jconsole.exe
mac 启动jconsole:
直接在终端中输入 jconsole (忘了是否需要配置jconsole环境变量了)
1、(先启动jmeter)再启动 jconsole
2、本地进程,选择ApacheJMeter.jar
选择不安全的连接
选择VM概要
|
这里显示我们修改后的值,则修改成功。
Jenkins----客户端内存配置修改(Windows)
1.说明
在做接口并发测试的时候,由于并发的线程比较多,启动jmeter之后,报错,提示内存溢出,故,需要修改jmeter的内存配置
2.操作步骤
(1)找到jmeter.bat文件
在文件中找到 set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
电脑---->右键“属性”,查看自己电脑的 内存
确认自己电脑内存大小之后,修改 set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=1024m ,建议修改为1024的倍速(1024m=1G)
修改完成之后保存
(2)确认修改是否生效
方案一:启动jmeter.bat
此时,我们会发现,显示的内存大小,并不是我们修改之后的,依鄙人n年的测试经验,断定——bug,绝对的bug,测试干久了总想追根问底;
通过jmeter的源码文件“JMeter.java”找,他这个显示是固定文字,所以不管你设置多少,他总是显示256,所以遇到情况不要慌,看方案二
方案二:通过jconsole.exe验证jmeter内存设置是否成功
打开cmd,输入命令jconsole.exe
可以看到,我们已经修改成功
以上是关于修改jmeter内存配置(win&mac&linux)的主要内容,如果未能解决你的问题,请参考以下文章