Usage Manager memory limit reached for topic. Producer hangs

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Usage Manager memory limit reached for topic. Producer hangs

Danilo Tuler
Hi,

My setup is:

- single AMQ 5.3 broker, with no persistence (persitent="false")
- useDedicatedTaskRunner=false
- two nio producers
- around 70 tcp consumer
- 5000 topics total with lastImageSubscriptionRecoveryPolicy and constantPendingMessageLimitStrategy=10
- producers do asyncSend
- no producerFlowControl configuration
- memoryUsage limit=4gb
- tempUsage limit=2gb
- -Xmx4gb with 64-bit JVM on Windows 2008

MemoryPercentUsage is constantly below 1, but all of a sudden I get a "Usage Manager memory limit reached for topic", and the producer hangs.

Before messing with producerFlowControl I would like to understand what this means and what may be causing it. Is this a problem with the producers or the consumers? What should I monitor besides MemoryPercentUsage? I've read the following pages:

http://activemq.apache.org/producer-flow-control.html
http://activemq.apache.org/message-cursors.html

Thanks,
Danilo
Reply | Threaded
Open this post in threaded view
|

Re: Usage Manager memory limit reached for topic. Producer hangs

felixehm
Hi Danilo,

just as a remark (which has not really to do with your problem) :
you may want to set memoryUsage to a lower value, since I think this is the size AMQ will use to keep messages in memory. If you set your JVM size to the same, you may not have space left for other objects (connection/topics/etc...) at some stage and you could get a OOM.

Cheers,
Felix