activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Duro <>
Subject Problem with setting memoryUsage when using persistent messaging with slow consumers
Date Thu, 21 May 2009 17:27:31 GMT

i have some problems with configuration when using persistent queue. I have
following scenario:
- broker running on SUSE Linux Enterprise Server 10 SP1 (x86_64)
- Xmx for broker VM set to 800MB
- tcp transport
- client messages (over 500k msgs * 20kB per msgs)
- 4 receivers with Client_Ack wich recovers session after every message (I
need this when my endpoint - http receiver is down),5 delivery attempts,
1000 ms retry timeout, prefetch size 10,
- consuming messages from DLQ immediately (after redelivery)

I've tried 3 different broker configurations with different results:

1. <memoryUsage limit="403mb"/>
- heap space usage quickly reaches configured maximum and jConsole shows in
MemoryPercentUsage on queue 70
- Warn message and NPE in activemq-startup.log :
WARN  RegionBroker                   - Caught an exception sending to DLQ:
Message ID:txdsa2-b-42053-1242741582775-0:10:5:1:1 dropped=false locked=true 403amq.log 
-negtive size of DLQ (-2)

2. no memoryUsage set in activemq.xml
- after couple thousand of messages casued Exception in activemq.log:
ERROR Queue - Failed to page in more queue messages 
java.lang.OutOfMemoryError: GC overhead limit exceeded

3. <memoryUsage limit="600mb"/> 
- any of previous problem

Isn't memoryUsage setting used only for non-persistent messages?
( How can I predict how
much memory should I set for persisting couple GB of messages without having
broker in error state?
Furthermore, setting prefetch limit to 1000 leads to decrasing of persistent
store usage - why is that?

Thanks for your help.

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message