activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jp <joseph.pac...@gmail.com>
Subject Re: OutOfMemory in messageConsumer thread: activemq running out of memory
Date Fri, 30 Dec 2011 21:19:40 GMT
Hi Torsten & all

I spend some time trying to get the
constantPendingMessageLimitStrategy to work, but I didn't succeed.

I put the config for the topic like this:
<policyEntry topic="enterpriseObjectChanges." topicPrefetch="10">
  <pendingMessageLimitStrategy>
    <constantPendingMessageLimitStrategy limit="10"/>
  </pendingMessageLimitStrategy>
</policyEntry>

=> the constantPendingMessageLimitStrategy is equal to the topic
prefetch number, which is what should if I got it right.

Yet, the queue stores more than 10 messages when the durable topic
subscriber goes offline (I stopped my tests at around 30 each time).

What am I missing?

FYI, I based my work mostly on these pages:
http://activemq.apache.org/slow-consumer-handling.html
http://activemq.apache.org/what-is-the-prefetch-limit-for.html

Thanks in advance

Best,
joseph


On Sat, Dec 10, 2011 at 12:21 AM, jp [via ActiveMQ]
<ml-node+s2283324n4178687h30@n4.nabble.com> wrote:
> Torsten Mielke-2 wrote
> Once you reach an OutOfMemoryError in your JVM you should not assume that
> anything continues to work. After an OOM all side effects and errors can
> occur.
> You will need to restart the JVM.
>
> I agree, and it's a work in progress. However, on the other hand, we would
> like to be sure that the memory of the activemq topic doesn't get filled up
> again in case it happens again somehow.
>
> Torsten Mielke-2 wrote
> You could configure a message limit strategy (e.g.
> constantPendingMessageLimitStrategy) so that the broker discards old
> messages once a configurable limit has been reached. However these msgs will
> then be lost.
> See http://activemq.apache.org/slow-consumer-handling.html
>
> really nice, looks fine: I'll test it soon. In our case the message
> consumers are "lost" anyway: loosing their messages isn't an issue, so it
> looks like the perfect match for our need.
>
> Torsten Mielke-2 wrote
> The main question is why do you run out of memory. Did you configure for
> system wide and destination wide memory limits? Did you assign an overall
> JVM heap memory (-Xmx) to the broker that is at least 30% higher than the
> configured memoryUsage limit?
>
> actually activemq didn't run out of memory. Rather, the broker memory limit
> was reached and then flow control kicked in stopping all message producers
> to create new ones. This was a very odd situation for us because normally
> the memory use of the 64Mb allocated is next to null. Hence this discussion.
>
> Torsten Mielke-2 wrote
> You may also want to look at the ActiveMQ tuning guide [1] from FuseSource.
>
> [1] http://fusesource.com/docs/broker/5.5/tuning/front.html
>
> looks good once again, thanks a lot. I'll read it through. I guess I should
> be able by now to squash this issue: thanks a lot!
>
> best
> joseph
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://activemq.2283324.n4.nabble.com/OutOfMemory-in-messageConsumer-thread-activemq-running-out-of-memory-tp4175801p4178687.html
> To unsubscribe from OutOfMemory in messageConsumer thread: activemq running
> out of memory, click here.
> NAML


--
View this message in context: http://activemq.2283324.n4.nabble.com/OutOfMemory-in-messageConsumer-thread-activemq-running-out-of-memory-tp4175801p4246892.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message