In our projects, we use two queues, one for normal processing, and another for errors. The "error" queue sometimes gets filled with "error" messages, which are sitting there, until a human checks them out. In some cases, the "error" queue fills out with a lot of messages, and then the JVM runs out of heap.
For instance, currently, the JVMs configured with max 4GB heap, and get OOM exception at random times. We used a MemoryAnalyzer as well as IBM Heap Analyzer and both point to Artemis. When I checked the size of the journal on the file system, it is about 5GB. We send: * Small messages * Persistent * Not using Netty or remoting (just use Artemis for async processing) * So, my questions are about Apache Artemis heap management and recommendations: 1. Does it store persistent messages in RAM as well, even if they are already stored on the file system? 2. If #1 is true, what is the strategy to control/limit amount od RAM allocated by Artemis? Also, this message is posted on SO: http://stackoverflow.com/questions/42497606/how-does-apache-artemis-manage-heap-space-ram Appreciate any help! -- View this message in context: http://activemq.2283324.n4.nabble.com/How-does-Apache-Artemis-manage-heap-space-RAM-tp4723220.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.