JMeter内存溢出原因及解决办法

JMeter内存溢出原因及解决办法

内存溢出解决方法:调整堆内存大小

1、windows环境下,修改jmeter.bat:

步骤:
在这里插入图片描述

①打开jmeter安装文件(可以用notepad++打开),bin目录下的jmeter.bat文件:

②找到set HEAP开头的内容,根据具体需要修改堆(heap)值大小,以及NEW分配的内存值大小:

set HEAP=-Xms256m -Xmx256m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m

改为:

set HEAP=-Xms256m -Xmx1024m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m

根据经验,heap最多设置为物理内存的一半,默认设置为512M.如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出,原因java比较吃内存,占CPU.

注意:JDK32位的电脑Xmx不能超过1500m,最大1378m.否则在启动Jmeter时会报错

③修改完成后,关闭文件,重启jmeter即可。

PS:当需要模拟的线程数较大时,就需要根据具体情况采用分布式压测的方式了,这种修改堆大小的方法只适用一部分情况,并不是万能的!

2、linux环境下,修改jmeter.sh:

java $JVM_ARGS -Xms1G -Xmx5G -XX:MaxPermSize=512m -Dapple.laf.useScreenMenuBar=true -jar dirname $0/ApacheJMeter.jar “$@”

3、如果查看JDK的位数

java -version

java version “1.6.0_26”

Java™ SE Runtime Environment

(build 1.6.0_26-b03)

Java HotSpot™ Server VM

(build 20.1-b02, mixed mode)

如果是64位的话,最后一行会显示64-Bit

#java -version

java version “1.6.0_26”

Java™ SE Runtime Environment

(build 1.6.0_26-b03)

Java HotSpot™

64-BitServer VM

(build 20.1-b02, mixed mode)

https://zhuanlan.zhihu.com/p/42494869

原文链接


版权声明:本文为crystal_o原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。