Hi, I'm relatively new to ActiveMQ and currently I try to understand the various information about persintence, Memory limit, Cursor memory limit, Cursur percent usage and Producer Flow Control. (I' m sure I read almost all available information, especially http://blog.christianposta.com/activemq/activemq-understanding-memory-usage/ <http://blog.christianposta.com/activemq/activemq-understanding-memory-usage/> ) I've built up a small test system and I see that the system behaviour is not as I would expect.
Here is my configuration: -ActiveMQ version 5.13.3 -broker persistence using KahaDB -testing with persistent messages -SystemUsage: <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="256 mb" /> </memoryUsage> <storeUsage> <storeUsage limit="5 gb"/> </storeUsage> <tempUsage> <tempUsage limit="64 mb"/> </tempUsage> </systemUsage> </systemUsage> -DestinationPolicy: <destinationPolicy> <policyMap> <policyEntries> <policyEntry queue=">" producerFlowControl="true" cursorMemoryHighWaterMark="70" memoryLimit="10MB"/> <policyEntry topic=">" > <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy> For testing, I have only one queue : queue://TEST I produce 100 messages with size 1MB each. >activemq producer --messageCount 100 --messageSize 1048576 As a result I would expect that the Cursors memory limit remains under 70% of the destination memory limit (10MB) because I use persistent messages and hence the store cursor per default. But I see the following: Cursor memory usage: 104960000 Cursor percent usage :1000 Memory Limit: 10485760 Memory percent usage: 1000 Memory usage byte count:104960000 Memory usage portion: 0 Store message size: 104887192 Broker Memory percent usage :39 Also from my understanding the PDC should never kicks in (as long as the store memory limit is not reached). But after producing another 100 messages the PFC kicks in. I don't understand why the cursor exceeds the memory limit of 10 MB for the destination. What is the base value of the CursorHighWaterMark? Another observation: If I first send 7 messages the Cursur usage percent value is 70%. After that I' m able to send any amount without the PDC kicks in. The Cursor usage percent remains at 70% What do I missunderstand ? Any help is appreciated Many Thanks Joerg -- View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-memory-usage-persistent-messaging-cursor-usage-and-PFC-tp4712042.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.