当尝试与 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!
我尝试增加堆大小,但仍然出现相同的错误。
即使我试图删除所有的听众,但没有任何改变。
最佳答案
看起来您只是缺少 Java 堆空间。这是正常的,因为默认情况下 JMeter 的堆分配非常低。它可以通过 -Xmx
参数进行控制。
jmeter.bat
或jmeter.sh
脚本中有一行建议将JMeter 启动为
JVM_ARGS="-Xms512m -Xmx512m" jmeter.sh
您可以尝试增加最大堆,直到您不再收到这些错误为止。我建议将它设置为大约 80% 的硬件 RAM。
同时考虑 JMeter Performance and Tuning Tips article以确保禁用占用内存的监听器、不要过度脚本化、有效地使用后处理器等。
关于java - jmeter 测试因内存不足错误而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20647651/