[ 
https://issues.apache.org/jira/browse/AMQ-6976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Markus L. updated AMQ-6976:
---------------------------
     Attachment: image-2018-05-28-16-23-36-564.png
    Description: 
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.

  was:
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-07-19-03-374.png|width=1048,height=554!

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.


> 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