首页  >  文章  >  Java 堆空间 - 尽管堆增加

Java 堆空间 - 尽管堆增加

WBOY
WBOY转载
2024-02-09 12:40:101029浏览

Java堆空间是Java虚拟机中用于存放对象实例的内存区域,它是Java程序运行时的重要组成部分。堆空间的大小是可以动态调整的,随着程序运行的进行,堆空间可以增加或减少。尽管堆空间的大小可以增加,但要注意合理管理堆空间的使用,避免出现内存溢出的情况。在Java堆空间的管理中,需要注意垃圾回收机制的运作,以及合理设置堆空间的大小,以实现程序的高效运行。

问题内容

我面临的问题是 java 堆空间异常出现,但我刚刚增加了堆空间。我已经增加了堆空间

jmeter.sh

jvm_args="-xms1g -xmx8g"
heap="-xms1g -xmx8g"

和jmeter.bat

set jvm_args=-xms1g -xmx8g
set heap=-xms1g -xmx8g

在我的测试计划中没有listner,jmeter是通过命令行启动的,但什么也没有,java堆空间异常总是出现。

有真正的专家可以帮助我吗?

完全异常:

java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid32652.hprof ... Heap dump file created [8922760824 bytes in 40.975 secs] summary + 55 in 00:01:03 = 0.9/s Avg: 9671 Min: 0 Max: 89909 Err: 41 (74.55%) Active: 50 Started: 50 Finished: 0 summary = 3811 in 00:03:38 = 17.5/s Avg: 1149 Min: 0 Max: 89909 Err: 41 (1.08%) Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "boundedElastic-94"

解决方法

也许我不是“真正的专家”,但我可以看到 jmeter.sh 文件中的更改不正确。您应该使用 export 命令来设置环境变量。

您还可以在任何 jsr223 测试元素中使用以下代码> 获取有效的 jvm 堆大小:

println('Current heap: ' + Runtime.getRuntime().maxMemory() / 1024 / 1024 / 1024 + ' GB')

更多信息:jmeter 负载测试“内存不足”失败的 9 个简单解决方案

如果应用了堆更改,但仍然遇到错误,则唯一的处理方法是切换到 分布式测试模式

以上是Java 堆空间 - 尽管堆增加的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除