jmeter 测试失败,出现内存不足错误

2022-09-02 11:22:32

当尝试以50个或更多用户运行jMeter时,它会给出OutOfMemoryError:

2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion  java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion     java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion  java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion  java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:16 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:17 ERROR - jmeter.threads.JMeterThread: Test failed! 

我试图增加堆大小,但仍然得到相同的错误。
即使我试图删除所有听众,但没有任何变化。


答案 1

看起来你只是缺少Java堆空间。这是正常的,因为默认情况下JMeter的堆分配非常低。它可以通过参数进行控制。-Xmx

或 脚本中有一行建议启动 JMeter 作为jmeter.batjmeter.sh

JVM_ARGS="-Xms512m -Xmx512m" jmeter.sh

您可以尝试增加最大堆,直到停止接收这些错误。我建议将其设置为硬件RAM的80%左右。

还要考虑 JMeter 性能和调优提示一文,以确保您禁用消耗内存的侦听器,不要覆盖脚本,有效地使用后处理器等。


答案 2

增加后,bat 文件中的堆大小将从测试计划中删除所有侦听器,然后运行脚本并看到魔术。现在你不会在jmeter享受中摆脱内存错误


推荐