Hi, it seems like a bug in 5.3.0 as memory percent for the queue is not calculated properly. I ran a similar test against 5.3.2 (and snapshot) and they behave as expected.
Can you run your test against some of these versions and let us know your results? Cheers -- Dejan Bosanac - http://twitter.com/dejanb Open Source Integration - http://fusesource.com/ ActiveMQ in Action - http://www.manning.com/snyder/ Blog - http://www.nighttale.net On Thu, Jul 8, 2010 at 4:07 PM, cmongillo <cmongi...@giocodigitale.it> wrote: > > Hi Dejan, > tnx for the reply. > This is in short the configuration I used for the tests, that is the > ActiveMq default one with producerFlowControl disabled : > > <policyEntry queue=">" producerFlowControl="false" memoryLimit="50mb"> > </policyEntry> > > I tried with the vmQueueCursor and fileQueueCursor too, to see what happen, > but the result of pending messages increase is the same : the amount of > memory occupied by the broker grows until it reached the jvm limit. > Also the memoryLimit attribute on policyEntry doesn't seem change this > behaviour. I suspect it is used only with producerFlowControl check. > > > > Dejan Bosanac wrote: >> >> You can also check you memory limits on the queue and see how much of >> it has been used, and perhaps tune that a bit. >> >> Cheers >> -- >> Dejan Bosanac - http://twitter.com/dejanb >> >> Open Source Integration - http://fusesource.com/ >> ActiveMQ in Action - http://www.manning.com/snyder/ >> Blog - http://www.nighttale.net >> >> >> >> On Thu, Jul 8, 2010 at 3:21 PM, Dejan Bosanac <de...@nighttale.net> wrote: >>> Hi Chris, >>> >>> Do you by any chance use VM Cursor in your config? >>> >>> Please take a look at this page for more details: >>> http://activemq.apache.org/message-cursors.html >>> >>> It'd be good if you could post you configuration, so we can see check it >>> out. >>> >>> Cheers >>> -- >>> Dejan Bosanac - http://twitter.com/dejanb >>> >>> Open Source Integration - http://fusesource.com/ >>> ActiveMQ in Action - http://www.manning.com/snyder/ >>> Blog - http://www.nighttale.net >>> >>> >>> >>> On Thu, Jul 8, 2010 at 2:51 PM, cmongillo <cmongi...@giocodigitale.it> >>> wrote: >>>> >>>> Hi, >>>> we are performing some tests on our ActiveMq instance (version 5.3.0) >>>> and we >>>> noticed a memory increase when our persistent queues become quite full >>>> of >>>> pending messages. >>>> The result of slow consumers with producerFlowControl disabled is a >>>> constant >>>> increase of the memory with the number of pending messages. >>>> Analyzing a memory dump in this scenario we noticed that the object >>>> org.apache.activemq.broker.region.Queue related to our full queue has a >>>> reference to all pending messages. >>>> Each org.apache.activemq.broker.region.IndirectMessageReference object >>>> linked to queue contains a reference to the original >>>> org.apache.activemq.command.ActiveMQTextMessage object with all content >>>> (jms >>>> message body). >>>> What is the reason of caching all the pending object when we work with >>>> persistent messages? >>>> There is an option we can set to avoid this behaviour? >>>> >>>> >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/Persistent-messages-cache-causes-OutOfMemory-tp29106666p29106666.html >>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >>>> >>>> >>> >> >> >> ----- >> Dejan Bosanac >> >> Open Source Integration - http://fusesource.com/ >> ActiveMQ in Action - http://www.manning.com/snyder/ >> Blog - http://www.nighttale.net >> > > -- > View this message in context: > http://old.nabble.com/Persistent-messages-cache-causes-OutOfMemory-tp29106666p29107409.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > >