修改jmeter内存配置(win&mac&linux)

Posted 做测试的喵酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改jmeter内存配置(win&mac&linux)相关的知识,希望对你有一定的参考价值。

目录

一、背景:

二、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

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

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)的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter目录文件讲解

Jmeter安装与配置

mac安装配置jmeter

win10中修改jmeter的字体大小

Jmeter在非GUI环境下传递参数(命令行&Jenkins配置)

Jmeter----Mac电脑环境配置与打开Jmeter界面