i am also interested in the answers to this please if anyone can help, the documentation surrounding this is a bit spartan...
dcheckoway wrote: > > Thanks Gary. So lemme toss some actual config numbers out there and > please tell me if this makes any sense...or if I'm shooting myself in the > foot somehow: > > Destinations: > - 1 queue with very heavy use, say 50 million messages per day > - 1 queue with very light use, say up to 500 messages per day > - 2 topics with very light use, say up to 500 messages per day > > ACTIVEMQ_OPTS="-Xmx3072M ..." (so 3gb heap) > > My attempt to account for pretty light topic use: > <policyEntry topic=">" producerFlowControl="false" > memoryLimit="64mb"> > > My attempt to account for heavier queue use: > <policyEntry queue=">" producerFlowControl="false" > memoryLimit="1024mb"> > > And then I'll uncomment the <systemUsage> section and do this...you had > said 70% of heap, so if heap is 3gb, let's just say 2gb... > > <systemUsage> > <systemUsage> > <memoryUsage> > <memoryUsage limit="2048 mb"/> > </memoryUsage> > </systemUsage> > </systemUsage> > > What do you make of all of this? Does it look like I have a clue? Cuz I > don't feel like I do... :-) > > I'm guessing message size may be more critical to sizing the memoryLimit > parameters, but I still don't fully understand what memoryLimit *IS* > exactly. Is that a per-queue and/or per-topic limit of how much memory > can be allocated to any given destination of the respective type (queue or > topic)? > > Is there a way to allocate a specific memoryLimit to individual specific > queues & topics? That would probably be smarter in my case if such a > thing is available. > > Sorry to blast more questions at you...I'd just like to have a better > understanding. > > Thanks! > Dan > > > Gary Tully wrote: >> >> On 2 April 2010 12:30, dcheckoway <dchecko...@gmail.com> wrote: >>> be explicit, can I safely set <memoryUsage limit="2 gb"/> ? If not, >>> what's >>> a recommended setting given -Xmx2048M? >>> >>> No, there are some hardcoded defaults for systemUsage think default for >> memory is 64MB. >> You need to take into account the expected number of destinations and >> connections and producers/consumers as these will require memory. >> Something like 70% of available heap is a reasonable initial gestimate. >> >> >>> 2. On <policyEntry>, what exactly does "memoryLimit" do? I have >>> producerFlowControl="false", and I wasn't sure if memoryLimit only >>> applies >>> when producer flow control is enabled, or what? >>> >> >> That limits the amount of memory consumed by messages on that >> destination. >> When that limit is reached, enqueues block unless systemUsage limits are >> reached and message are spooled to disk. With producerFlowControl, the >> producer is blocked rather than the destination in the broker. >> >>> >>> 3. What happens if you set the <policyEntry> elements' memoryLimit to >>> the >>> same size as your heap and/or <memoryUsage limit>? >>> >> >> that destination can block all other destinations by consuming all of the >> memory resources. >> >> >>> I'd like to understand the interaction of all of these factors. Any >>> info >>> you can provide would be MUCH appreciated!!! >>> >>> Thanks, >>> Dan >>> -- >>> View this message in context: >>> http://old.nabble.com/Help-understanding-memory-usage-limits-tp28118112p28118112.html >>> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >>> >>> >> >> >> -- >> http://blog.garytully.com >> >> Open Source Integration >> http://fusesource.com >> >> > > -- View this message in context: http://old.nabble.com/Help-understanding-memory-usage-limits-tp28118112p28161952.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.