I concur. Increasing the prefetch buffer just results in the system using more client memory before filling up its pending queues. My setup also doesn't use persistence (well, only memory persistence).
The point is that as long as the consumer behaves normally and stays alive, the memory usage is predicatable. As soon as the consumer dies, it seems that everything destined to that consumer is left hanging. -Will Frugia, Kirby A wrote: > > I'm not sure if it would be the prefetch size. The memory usage rightly > goes up when the consumer stops ack'ing messages. The question is, why > does it never go back down when the consumer disconnects? > > Also, I think changing the message cursor strategy would only prolong the > time between failures. Yes, we could start caching messages to disk, but > I would like to know why the messages don't get cleaned up from memory > when the consumers disconnect (cleanly or not). > > -Kirby > Bruce wrote: > > > The first thing to do is configure the prefetch buffer for the client?: > > http://activemq.apache.org/what-is-the-prefetch-limit-for.html > > See how that affects the situation. If you're still experiencing > issues, you might need to consider using a different message cursor > strategy: > > http://activemq.apache.org/message-cursors.html > > Bruce > -- > -- View this message in context: http://www.nabble.com/Broker-not-releasing-memory-tp20662078p20828444.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.