Hi Gary, It appears i am really not understanding this so could you clarify?
You wrote: "Which ever destination tips it over the limit will have its memory usage flushed to disk because it is configured with a fileQueueCursor." and then wrote: "The salient point being that paging to disk is dependent on systemUsage configuration, not individual/per destination memory usage." To me, this says that once the combined destinations usage exceeds the systemusage/memoryusage of 20mb then the destination which did this is flushed. However, given that i have 16 * 1mb queues how can this ever occur? Surely this means my maximum memory is 16mb? So, flushing must be occuring when destinatons exceed the 1mb value irrespective of the systemusage/memoryusage setting... Or does it? Gary Tully wrote: > > richard, you have configured a 1mb limit for every queue because you use > the > ">". So the broker will keep up to 1mb of space in memory for each queue, > up > to 16MB for 16 queues. > > The paging (via fileQueueCursor) kicks in for each destination only when > 70% > of the shared system limit (20mb) is reached. Which ever destination tips > it > over the limit will have its memory usage flushed to disk because it is > configured with a fileQueueCursor. System usage will reduce by 1Mb and the > rest of the destinations will continue to use memory up to their limit. > > The salient point being that paging to disk is dependent on systemUsage > configuration, not individual/per destination memory usage. > > > On 7 April 2010 11:22, Richard Holt <richard_h...@btopenworld.com> wrote: > >> >> Sorry about the thread hijack - however if i have something like this >> >> <destinationPolicy> >> <policyMap> >> <policyEntries> >> <policyEntry queue=">" memoryLimit="1mb" >> producerFlowControl="false"> >> <pendingQueuePolicy> >> <fileQueueCursor/> >> </pendingQueuePolicy> >> </policyEntry> >> </policyEntries> >> </policyMap> >> </destinationPolicy> >> >> <systemUsage> >> <systemUsage> >> <memoryUsage> >> <memoryUsage limit="20mb"/> >> </memoryUsage> >> <storeUsage> >> <storeUsage limit="100mb"/> >> </storeUsage> >> <tempUsage> >> <tempUsage limit="100mb"/> >> </tempUsage> >> </systemUsage> >> </systemUsage> >> >> and an Xmx of 32mb >> >> Once it reaches a limit of 1mb of messages per queue it will start to >> page >> out to disk. >> >> And the activemq system reserves 20mb of memory for itself? >> >> Is the 1mb then across all queues. So if i have 16 queues i in fact need >> 16mb. Because then the 20mb + 16 * 1mb will exceed my xmx value? >> >> Sorry if i am being obtuse but like the poster i am trying to see how the >> 3 >> memory settings relate to each other. >> >> Coincidentally i have tested the above on 5.3.1 and it works really well. >> If >> i use 5.3 it breaks which i think is due to this >> https://issues.apache.org/activemq/browse/AMQ-2610 and this >> >> -- >> View this message in context: >> http://old.nabble.com/Help-understanding-memory-usage-limits-tp28118112p28163080.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-tp28118112p28163528.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.