ActiveMQ : Async error occurred: java.lang.OutO...
参考-- http://activemq.apache.org/javalangoutofmemory.html 对于MQ的内容实用是可管理和可配置的。首先需要判断的是MQ的哪部分系统因内存不足而导致泄漏,是JVM,broker还是消费者、生产者? 一、内存管理 JVM内存管理: 1. 用bin/activemq命令在独立JVM中运行broker。用-Xmx和-Xss命令即可(activemq.bat文件中修改ACTIVEMQ_OPTS选项参数即可); 2. 默认情况下,MQ用512M的JVM; broker内存管理: 1. broker使用的内存并不是由JVM的内存决定的。虽然受到JVM的限制,但broker确实独立管理器内存; 2. systemUsage和destination的内存限制与broker内存息息相关; 3. MQ中内存的关系是:JVM->Broker->broker features; 4. 所有destination的内存总量不能超过broker的总内存; 消费者: 1. 由于消息大小可以配置,prefetch limit往往是导致内存溢出的主要原因; 2. 减少prefetch limit的大小,会减少消费者内存中存储的消息数量; 生产者: 1. 除非消息数量超过了broker资源的限制,否则生产者不会导致内存溢出; 2. 当内存溢出后