Jmeter java.lang.OutOfMemoryError:超出了GC开销限制

米歇尔·格雷罗(Michele Guerriero)

我正在使用Jmeter将工作负载注入到部署在AWS EC2实例上的应用程序。该测试必须非常庞大:它需要持续10个小时,并且工作负载配置文件具有双峰形状,并在5分钟内发出约2600个请求。实际上,我有一个在其中部署应用程序的m3.xlarge实例,以及8个m3.xlarge实例,每个实例都运行一个jmeter实例。使用python脚本,要注入的工作负载在8个客户端实例之间分配,因此在示例中,如果要注入800个请求的原始工作负载,则每个jmeter实例将注入100个请求。我所说的完整测试持续10个小时,分为每个5分钟的时间步长。每5分钟会应用少量工作负载变化。实际上,我从每个jmeter实例获取java.lang.OutOfMemoryError:测试开始后,GC开销限制立即超过错误,并且没有请求到达应用程序。我在网上和stackoverflow上阅读了很多文章,得出的结论可能是:

  • JMV堆大小太小->我解决了在每个jmeter实例的jmeter.bat文件中设置以下内容的问题:

    设置HEAP = -Xms4g -Xmx4g

    设置NEW = -XX:NewSize = 4g -XX:MaxNewSize = 4g

  • 代码中的一些错误导致垃圾收集器继续无用。因此,我从测试中删除了所有的jmeter监听器。特别是我正在使用TableVisualizer,ViewResultsFullVisualizer,StatVisualizer和GraphVisualizer。

无论如何,问题仍然存在。我真的不知道如何解决它。我知道2600音高要求的10小时测试可能是非常沉重的测试,但我认为应该有一种方法可以执行此操作。我正在使用EC2 m3.xlarge实例,因此,如果有用的话,我甚至可以将堆大小提高到8G,或者因为我使用的是现货实例,所以将工作负载分配给更多的客户端,所以我不会付出太多,但是由于我已经将客户端实例的数量从4个增加到8个,以解决该问题,并且无法正常工作,我有点困惑,我想在继续获取越来越多的资源之前先了解一些建议。提前非常感谢。

UBIK LOAD PACK

您的堆设置看起来不正确:set HEAP = -Xms4g -Xmx4g set NEW = -XX:NewSize = 4g -XX:MaxNewSize = 4g

您的新值等于堆大小,这是错误的。首先评论新部分。

您可以执行ps -eaf | grep java并显示输出吗?

并检查您是否遵守以下建议:

最后,显示测试计划的概述,以及您启动的线程数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Java Spark中收集数据集时超出了OutOfMemoryError GC开销限制

Spring Boot和Java java.lang.OutOfMemoryError:超出了GC开销限制

java.lang.OutOfMemoryError:Android 1.4超出了GC开销限制

java.lang.OutOfMemoryError:超出了GC开销限制

错误java.lang.OutOfMemoryError:超出了GC开销限制

如何重现Java OutOfMemoryError-超出了GC开销限制

线程“主”中的异常java.lang.OutOfMemoryError:GWT应用程序中超出了GC开销限制

“ java.lang.OutOfMemoryError:超出GC开销限制”中的过多GC时间的持续时间

Java Spark-java.lang.OutOfMemoryError:超出了GC开销限制-大数据集

为什么Spark失败并出现java.lang.OutOfMemoryError:超出了GC开销限制?

Tomcat java.lang.OutOfMemoryError:超出了GC开销限制

即时运行java.lang.OutOfMemoryError:超出了GC开销限制

PySpark错误java.lang.OutOfMemoryError:超出了GC开销限制

Pyspark:java.lang.OutOfMemoryError:超出了GC开销限制

kapt发生异常:java.lang.OutOfMemoryError:超出了GC开销限制

生成失败原因:java.lang.OutOfMemoryError:超出了GC开销限制

java.lang.OutOfMemoryError:在maven中运行findbugs时超出了GC开销限制

优化配置单元查询。java.lang.OutOfMemoryError:超出了Java堆空间/ GC开销限制

外部进程可以强制JVM抛出“ java.lang.OutOfMemoryError:超出GC开销限制”

java.lang.OutOfMemoryError(超出了GC开销限制)

Grails / GGTS:编译产生org.apache.tools.ant.BuildException:java.lang.OutOfMemoryError:超出Java堆空间/ GC开销限制

82秒内提取数据库中的一行,java.lang.OutOfMemoryError:对于大型数据库,超出了GC开销限制

“ OutOfMemoryError:超出了GC开销限制”:使用Java解析大型json文件

读取Java中的Big文件,速度太慢,超出了gc开销限制

java.lang.OutOfMemoryError:WSO2 MB上超出了GC开销限制

获取错误:java.lang.OutOfMemoryError:超出了GC开销限制

jmeter中超出了gc内存开销

java.lang.OutOfMemoryError:即使使用 -Xms1024M -Xmx2048M 也会超出 GC 开销限制

java.lang.OutOfMemoryError:mule和snowflake连接时超出GC开销限制错误