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

Christopher L. Shannon commented on AMQ-6976:
---------------------------------------------

The TransportConnectionState objects are added with a new connection and then 
removed when the connection is removed inside the TransportConnection class.  
Are you creating a lot of new connections and then not closing them properly?  
You will probably need to do some more debugging to see why there are so many 
connection state objects being created and not removed.  I would start with 
https://github.com/apache/activemq/blob/activemq-5.15.3/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java

It might also help to look at a thread dump to make sure nothing is stuck.

> 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)

Reply via email to