一、使用线程池代替大量线程
修改bin/env,设置ACTIVEMQ_OPTS。
ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Dorg.apache.activemq.UseDedicatedTaskRunner=false -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config"
其中-Dorg.apache.activemq.UseDedicatedTaskRunner=falsed的作用是配置使用线程池,而不是每个连接都创建一个线程,否则的话会出现大量的线程占用大量的内存。
二、配置堆内存的大小
修改bin/env,ACTIVEMQ_OPTS_MEMORY="-Xms1G -Xmx1G" ,配置xms和xmx一样大小,根据机器资源适当调大堆内存。