java - jmeter 测试因内存不足错误而失败

标签 java jmeter

当尝试与 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.batjmeter.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/

相关文章:

java - jmeter:如何在java代码中设置现有jmx文件的线程数?

testing - 如何解释 jmeter 负载测试的图形结果?

java - Android JDBC MySQL 通过数据库获取表

java - 在使用 dagger2 的示例中如何使用 okhttp 和 gson 进行改造

java - (java) 快速排序,先按数字对数字-字符对进行排序,然后按字符排序

java - 如何进行ETL流程性能测试

java - Spring SimpleJdbcCall 默认(可选)参数

java - 如何停止 BufferedImage.getGraphics() 打开 X11 设备?

performance - 如何减少 JMeter 日志?

pattern-matching - jmeter中的管道符号模式匹配