activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin C." <>
Subject Re: Global memory limit for all queues / fileQueueCursor question
Date Tue, 17 Aug 2010 20:36:29 GMT

thanks for the very fast answer.

On Tue, Aug 17, 2010 at 8:48 PM, Bruce Snyder <> wrote:
>>    <systemUsage>
>>      <systemUsage sendFailIfNoSpace="true">
>>        <memoryUsage>
>>          <memoryUsage limit="256 mb" />
>>        </memoryUsage>
>>      </systemUsage>
>>    </systemUsage>
> The memoryUsage above should limit the entire broker to 256mb of
> memory. I just tested this by lowering the memoryUsage limit to 15mb
> and maxed that out pretty easily by flooding a queue with messages and
> not consuming them very fast.

Thanks for the verification, this is what I was hoping.

> However, if you are sending non-persistent messages, then you need to
> set the tempUsage element within the systemUsage element. The
> tempUsage element  governs the amount of disk space that is allowed to
> be used to hold non-persistent messages.

Ok, I assumed that the tempUsage element might be necessary here as
well. Do I have to include a <store> section in the <tempUsage>
element or will it pick up the default message store if I don't.
That's something I couldn't really find out from documentation.

> I also notice above that you have disabled producer flow control. By
> disabling this setting, you have disallowed the broker from slowing
> down producers who may be flooding the broker.

Using "sendFailIfNoSpace" (in systemUsage), I expected the producers
will rather fail fast instead of blocking, as I can deal with failure
on my producers more easily than with a "hung" producer.

> Also, what version of ActiveMQ are you using?

I'm currently still on a 5.3.1-fuse release for a backport of an XA
memory leak fix (AMQ-2556), but hope to upgrade the system to 5.4 now
that it is out.

Best regards,

View raw message