activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jake Choi>
Subject cursor memory usage/limit vs memory usage/limit
Date Wed, 24 Jul 2013 15:34:30 GMT

Using activemq-core-5.7.0 (embedded broker), I noticed that there is the
separate memory usage/limit called "cursor memory usage/limit" which the
per-destination memory limit (that I set via per-destination policy) doesn't
account for, but shared between all queues.  For example, from the JMX
stats, I see all queues show the same values for the "Cursor*" metrics while
independent stats for "Memory*" stats: the following is the JMX stat of one
of queues:

# the following 3 are all the same between queues
"CursorMemoryUsage": 4294967698,
"CursorPercentUsage": 100,
"CursorFull": true,

# the following 3 are all different between queues
"MemoryLimit" : 536870912,
"MemoryPercentUsage" : 0,
"MemoryUsagePortion" : 0,

I confirmed that this was not just stat difference but actually the queue
above got affected such that it's producers got blocked by hitting this
"cursor memory limit" to which usage it hasn't contributed at all, even
though it doesn't use any memory (MemoryPercentUsage: 0).

So, here're some questions:
1) what's the difference between these two memory areas: cursor-memory-usage
and (just) memory-usage. when/who uses which?
2) can I configure per-destination limit to this cursor-memory-usage as


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

View raw message