activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmongillo <cmongi...@giocodigitale.it>
Subject Re: Persistent messages cache causes OutOfMemory
Date Thu, 08 Jul 2010 16:02:12 GMT

Hi Dejan, yes you're right.
performing the same tests on ActiveMq 5.3.1 that I have already installed
all run as we expect.
After sending a lot of messages to a queue with slow consumers, we noticed
that the memory goes constant and the store usage begin to grow. 
When we reach the 100% of the store usage ActiveMQ blocks the producer and
log an info "Usage Manager Store is Full...".
After analyzing the memory dump of the new release now we can notice that
the Queue object has only a constant prefetched buffer of messages as we
expect.
Tnx for your support :)





Dejan Bosanac wrote:
> 
> 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 <cmongillo@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 <dejan@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 <cmongillo@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.
>>
>>
> 
> 
> -----
> 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-tp29106666p29108799.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message