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

Kul*_*gar 4 java garbage-collection wso2 messagebroker wso2-message-broker

我最近一直在研究WSO2 Message Broker(Ver:3.1.0),以便使用JMeterjms客户端发布和使用消息.所以我有我的发布者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来消耗这些消息.我也VisualVm打开了窗口,看看测试的内存消耗.在前15分钟,根据下面的图像,发布和消费已经确定,但在那之后,突然之间的VisualVm节目大肆宣传并耗尽内存.我附上了VisualVM下面的截图.

CPU使用情况的屏幕截图

我已检查heap dump的的WSO2 MB使用JProfiler为好.附上了它的截图. 在此输入图像描述

可能是什么问题?我应该做出哪些改变?像增加heap尺寸的东西?任何帮助都会受到重视.

编辑:我特此附加日志文件和堆转储.

vic*_*osa 5

增加堆大小

是要走的路.但你还必须检查如何进行分发测试; 因为12000是一项重大测试,不能仅在一台机器上运行; 这不是一个好习惯.

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