Maxence Dunnewind created AMQ-6482:
--------------------------------------

             Summary: Possible thread leak ?
                 Key: AMQ-6482
                 URL: https://issues.apache.org/jira/browse/AMQ-6482
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.14.1
            Reporter: Maxence Dunnewind


We have an activemq broker running for ~ 24 hours, handling ~ 100k topics and 
up to 8k connections (for ~ 24k consumers).

Looking at my graph, I see that I get a big increase of threads count happended 
(in 4 steps, ~ 500 more threads each time) as shown here : 
https://snapshot.raintank.io/dashboard/snapshot/ExUb4pgNYnmBo92JgbZrvJ6fiBm3PNrI

However, even if the traffic dropped in the night, the thread count never 
decreased and is still ~ 2500.

I checked a thread dump and it looks like (full dump attached) :

```
# grep  Thread.State thread_dump   |awk '{ print $2 }' |sort|uniq -c
     26 RUNNABLE
     70 TIMED_WAITING
   2446 WAITING
```

Mhh, so many WAITING threads, let's check why :

```
# grep   'parking to' thread_dump    |cut -d '>' -f 2 |sort |uniq -c
      1  (a java.util.concurrent.CountDownLatch$Sync)
   1308  (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
   1159  (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
     41  (a java.util.concurrent.SynchronousQueue$TransferStack)
```

I'm not a big java expert but seems a bit unexpected behavior to me.

For various reason (big number of topics etc ) we use custom GC config, here it 
is :

```
ACTIVEMQ_OPTS_MEMORY="-Xms128M -Xmx10G -Xloggc:/home/log/activemq/gc.log 
-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseG1GC 
-XX:InitiatingHeapOccupancyPercent=75 -XX:NewRatio=4"
```

Maxence



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to