javagarbage-collectionwso2messagebrokerwso2-message-broker

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


I've been recently working on with the WSO2 Message Broker (Ver : 3.1.0 ) in order to publish and consume messages using JMeter as the jms client. So I've got my publisher Java program where I'm publishing the messages from and I'm trying to publish 4000 messages per second. I could provide the snippet if necessary.

I'm consuming those messages by running a JMeter command 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 in headless mode. I kept the VisualVmwindow opened as well to see the memory consumption for the test. For the first 15 minutes the publishing and consuming has been ok according to the image below, but there after, all of sudden the VisualVm shows a hype and runs out of memory. I'm attaching a screenshot of the VisualVM below.

Screenshot of the CPU usage

I've checked the heap dump of the WSO2 MB using JProfiler as well. Have attached a screenshot of it too. enter image description here

What could be the issue? And what changes should I make? Something like increasing the heap size? Any help would be aprreciated.

EDIT: I'm hereby attaching the log file and the heap dump.


Solution

  • increasing the heap size

    is the way to go. But you also have to check how to do a distribute test; because 12000 is a big test that can't be run only in one machine alone; it is not a good practice.

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