Hello, I just tried something with the Netbeans memory profiler. My assumption is: If nothing hass been added to an application then after 2 full runs of the Garbace Collector the memory should be the same. In the past we have seen that memory was increasing while messages have been processed by AMQ. For me that means that something stays in memory even after those messages have been dequeued.
My test looks like this: 1. start a fresh AMQ instance, send some messages to a queue for initialisation 2. do a full GC 3. Take a memory snapshot 4. send exactly 1000 message to the queue 5. consume all 1000 messages from the queue 6. do a full GC 7. Take a another memory snapshot Assumption: I would expect that no references to messages do exist any more in the AMQ JVM because they have all been processed. The memory should look more or less like it was before the test. Now I did a memory comparision of my two snapshots. The result looks like this: http://www.nabble.com/file/p22003872/AMQClasses.jpg >From within the "org.apache.activemq" package there are exactly 1000 MessageKeys, 1000 RemoveMessageCommands and 1000 AdMessageCommands left over. Shouldn't those have disappeared because the queue is empty??? Additionaly, if we look at the "org.apache.kaha" package: http://www.nabble.com/file/p22003872/KahaClasses.jpg There are 2000 DataByteArrayOutputstreams, 2000 Location objects and 2000 WriteCommands still inside the memory. I would also have expected that those do not exist after the queue is empty. Well, personally this does not help me, but maybe one of the developers can convert this information into a possible bug inside the code? Help would really be appreciated. Thanks Jörg -- View this message in context: http://www.nabble.com/Memoryleak-when-consuming-messages-from-KahaDBStore-tp21991929p22003872.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.