I am running a standalone broker with a simple configuration (shown at the end of the message).
The issue I am seeing is that the broker memory usage keeps climbing and eventually (3-4 days) the JVM runs out of memory (java.lang.outofmemoryerror). I connected to the broker via jconsole and found the following abnormal values for some of the broker attributes which I suspect could be causing this problem: QueueProducers: 16101 (this keeps growing) TotalEnqueueCount: 32263 TotalDequeueCount: 16105 (the difference between enqueue and dequeue keeps growing) Though I have 4 known producers I am not sure why there are tens of thousands of producers being shown. Also from the console I found that the extra messages are being enqueued in the topic called "ActiveMQ.Advisory.Producer.Queue.Management.Queue" which are never dequeued. Any one knows what this is? I can turn off advisory messages but I guess that shouldn't be necessary. Also another strange thing is that all the three parameters (Store, Memory and Temp) show as 0 in the console. If thousands of messages are not being dequeued I'd expect them to be stored somewhere? I am sure there is a simple mistake I am doing somewhere but I can't seem to figure out what's wrong, any help would be greatly appreciated! ================ Queues: 1 queue with 4 producers and consumers Topics: 1 topic with 3 producers, 1 consumer Persistent Messaging: Yes ActiveMQ broker version: 5.9.0 running on Ubuntu 12.04 with Sun JVM 1.7.0_51 ActiveMQ client version: varies but all of them < 5.9.0 (not sure if this matters), one running on Ubuntu 12.04, rest on Windows 7 64 bit JVM arguments: -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Dhawtio.realm=activemq -Dhawtio.role=admins -Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal -Djava.security.auth.login.config=/opt/activemq/conf/login.config -Dcom.sun.management.jmxremote.port=11099 -Dcom.sun.management.jmxremote.password.file=/opt/activemq/conf/jmx.password -Dcom.sun.management.jmxremote.access.file=/opt/activemq/conf/jmx.access -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/opt/activemq/tmp -Dactivemq.classpath=/opt/activemq/conf; -Dactivemq.home=/opt/activemq -Dactivemq.base=/opt/activemq -Dactivemq.conf=/opt/activemq/conf -Dactivemq.data=/opt/activemq/data Portions of activemq.xml configuration file: <systemUsage> <systemUsage> <memoryUsage> <memoryUsage percentOfJvmHeap="50" /> </memoryUsage> <storeUsage> <storeUsage limit="100 gb"/> </storeUsage> <tempUsage> <tempUsage limit="50 gb"/> </tempUsage> </systemUsage> </systemUsage> <transportConnectors> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> </transportConnectors> ================ -- View this message in context: http://activemq.2283324.n4.nabble.com/activemq-broker-running-out-of-heap-memory-tp4678656.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.