activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pol_ice <>
Subject Do pedning messages ever get out of broker's memory? Are they ever swapped to disk?
Date Wed, 10 Aug 2011 18:49:11 GMT
I am using ActiveMQ and have a question about how and when the persisted
messages do really get swapped to disk, while waiting for consumer?

I am using virtual topics, and create queue consumers to receive messages
from them. All messages are persisted (I've verified that records for all
non consumed messages do present in the persistence storage)

I have a multiple consumers which regularly come on and off line. Having
connected jconsole to activemq I noticed that ALL not consumed messages seem
to be contained in broker's memory. They do not get swapped to disk, at
least I was not able to verify that. Setting the memoryUsage or turning
producerFlowControl on - does not have any effect. Broker is whether blocked
if memoryUsage limit is hit with flow control on, or MemoryPercentUsage
keeps increasing if flow control is off.

When exactly activemq frees memory by storing the messages to
disk/persistence storage? Or does it so? How can I verify it is disk space
not RAM which will limit the broker in a long run when there are millions of
not consumed (pending) messages in queues?

I read about file cursors - but having them enabled I still could not find
the indication - that pending messages are ever stored to file to free
broker's memory, as MemoryPercentUsage is never going down - but always up
along with new pending messages. Can someone explain this a little bit more?
What should be the intended behaviour for large number of pending messages
and how can I verify that my system handles it properly?

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message