Hello group,
currently I am analyzing an OOM crash of a productive broker (ActiveMQ Artemis 2.28). The broker ran under 64 bit OpenJDK 17.0.9+9 (Temurin) with 4GB of heap configured via -Xmx VM option and G1 garbage collector. In the analyzer histogram I can see, that there are 5 big consumers of the VM’s heap. Four of those are very much the same: 1. One instance of org.apache.activemq.artemis.core.paging.cursor.impl.PageSubscriptionImpl occupies 777.531.896 (18,18 %) bytes. The memory is accumulated in one instance of java.util.TreeMap$Entry which occupies 327.069.808 (7,65 %) bytes. 2. One instance of org.apache.activemq.artemis.core.paging.cursor.impl.PageSubscriptionImpl occupies 777.531.896 (18,18 %) bytes. The memory is accumulated in one instance of java.util.TreeMap$Entry which occupies 327.069.808 (7,65 %) bytes. 3. One instance of org.apache.activemq.artemis.core.paging.cursor.impl.PageSubscriptionImpl occupies 777.531.896 (18,18 %) bytes. The memory is accumulated in one instance of java.util.TreeMap$Entry which occupies 327.069.808 (7,65 %) bytes. 4. One instance of org.apache.activemq.artemis.core.paging.cursor.impl.PageSubscriptionImpl occupies 777.531.896 (18,18 %) bytes. The memory is accumulated in one instance of java.util.TreeMap$Entry which occupies 327.069.808 (7,65 %) bytes. The fifth seems to be closely related to these four: 19 instances of java.util.TreeMap$Entry occupy 777.531.504 (18,18 %) bytes. Biggest instances: * java.util.TreeMap$Entry @ 0x7584c1ce8 - 231.178.240 (5,41 %) bytes. * java.util.TreeMap$Entry @ 0x7094185d8 - 220.148.272 (5,15 %) bytes. * java.util.TreeMap$Entry @ 0x77c22a440 - 116.097.024 (2,71 %) bytes. * java.util.TreeMap$Entry @ 0x796469d78 - 103.186.432 (2,41 %) bytes. * java.util.TreeMap$Entry @ 0x7c8c1e078 - 53.215.232 (1,24 %) bytes. Most of these instances are referenced from one instance of org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1 which occupies 1.282.832 (0,03 %) bytes. The analyzer states Common Path To the Accumulation Point: org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1 @ 0x79e40f078 Thread-1 (ActiveMQ-PageExecutor-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$9@4aeaadc1) <mat://object/0x79e40f078> Thread After a restart of the broker after 6 hours the memory consumption is still at < 300 mb. Can someone tell me what the cause of this OOM exception might be (excessive paging, fast reconnects, zombie sessions, …)? Kind regards Sebastian Götz