You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Markus L. (JIRA)" <ji...@apache.org> on 2018/07/16 12:28:00 UTC

[jira] [Commented] (AMQ-6976) GC goes crazy under load. Heap is filled up with TransportConnectionState objects

    [ https://issues.apache.org/jira/browse/AMQ-6976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16545142#comment-16545142 ] 

Markus L. commented on AMQ-6976:
--------------------------------

We figured out that we were using several connection factories for different queues/topics together with the "is-same-rm-override" flag NOT set.
If we enable this flag by setting it to false, everything works fine. 
Another solution would be to use the same connection factory for all queues and topics.


> GC goes crazy under load. Heap is filled up with TransportConnectionState objects
> ---------------------------------------------------------------------------------
>
>                 Key: AMQ-6976
>                 URL: https://issues.apache.org/jira/browse/AMQ-6976
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.15.3
>         Environment: Windows Server 2012 R2 - 64bit
> 230 GB RAM
> SSD HD
>            Reporter: Markus L.
>            Priority: Critical
>         Attachments: image-2018-05-28-13-54-21-048.png, image-2018-05-28-16-23-36-564.png
>
>
> We are running a so called "Shared Nothing" setup with several Wildfly 8.2.1 instances (10) on several host machines (4)- all connected to one standalone Activemq installation - Normally we have  600-700 connections in total to our broker.
> The Activemq installation is configured to use 8GB RAM.
> {code:java}
> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="dcdng" id="dcdng" useJmx="true" useShutdownHook="false"
> schedulerSupport="false" dataDirectory="C:/activemq/data" advisorySupport="false">
> <managementContext>
> <managementContext createConnector="true" connectorPort="61610" suppressMBean="endpoint=dynamicProducer,endpoint=Consumer,connectionName=*,destinationName=ActiveMQ.Advisory.*"/>
> </managementContext>
>  <!-- ... -->
> </broker>{code}
> The memory usage is set to 500mb which is sufficient since our messages are relative small. (MaxMessageSize: 41442)
>  
> The system performs great until we put it under high load. Then the heap usage grows and it seems the memory cannot get cleaned up properly. 
>  !image-2018-05-28-16-23-36-564.png! 
> At the end I took a heap dump and the MAT prints the following:
> !image-2018-05-28-13-54-21-048.png!
> So why are there so many TransportConnectionState objects left an not cleaned up properly. When the system performs under "normal" load, everything seems to be fine.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)