目录

一、背景:

二、win环境下修改jmeter内存

三、mac&linux环境下修改jmeter内存

四、验证内存是否修改成功


一、背景:

在进行大数据、高并发压测的过程性,有时会遇上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概要

XX:MaxMetaspaceSize=1024m

 这里显示我们修改后的值,则修改成功。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐