java.lang.OutOfMemoryError: GC overhead limit exceeded on WSO2 MB

java.lang.OutOfMemoryError: GC overhead limit exceeded on WSO2 MB

我最近一直在研究 WSO2 Message Broker(版本:3.1.0),以便使用 JMeter 作为 jms 客户端来发布和使用消息。所以我有我的发布者 Java 程序,我从那里发布消息,我试图每秒发布 4000 条消息。如有必要,我可以提供代码段。

我在无头模式下通过 运行 JMeter 命令 jmeter -n -t C:\Users\ctsadmin\Downloads\wso2MB\apache-jmeter-2.13\bin\GamesSubscriber.jmx -l C:\Users\ctsadmin\Downloads\wso2MB\apache-jmeter-2.13\bin\mytest_results.jtl 使用这些消息。我还打开了 VisualVmwindow 以查看测试的内存消耗。根据下图,前 15 分钟发布和消费都正常,但在那之后,突然 VisualVm 显示大肆宣传并耗尽内存。我在下面附上 VisualVM 的屏幕截图。

我也使用 JProfiler 检查了 WSO2 MBheap dump。也附上了它的截图。

可能是什么问题?我应该做哪些改变?比如增加 heap 大小?如有任何帮助,我们将不胜感激。

编辑:我hereby附上日志文件和堆转储。

increasing the heap size

是必经之路。但是您还必须检查如何进行分发测试;因为 12000 是一个大测试,不能 运行 只在一台机器上;这不是一个好习惯。

http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf