新装一台机器 配置了activemq ,使用默认配置,跑了大概2天 100来w队列数据就挂了。
访问提示:
gc overhead limit exceeded
往上搜了下 报错内容说是 jvm 内存溢出。
看了下启动进程的 内存设置 确实过小
/home/work/sun-java8/bin/java -Xms256M -Xmx256M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/home/work/80aj/apache-activemq-5.15.2//tmp -Dactivemq.classpath=/home/work/80aj/apache-activemq-5.15.2//conf:/home/work/80aj/apache-activemq-5.15.2//../lib/: -Dactivemq.home=/home/work/80aj/apache-activemq-5.15.2/ -Dactivemq.base=/home/work/80aj/apache-activemq-5.15.2/ -Dactivemq.conf=/home/work/80aj/apache-activemq-5.15.2//conf -Dactivemq.data=/home/work/80aj/apache-activemq-5.15.2//data -jar /home/work/80aj/apache-activemq-5.15.2//bin/activemq.jar start
修改activemq目录bin/activemq
#/bin/bash
//下面增加
ACTIVEMQ_OPTS_MEMORY=" -server -Xmx5g -Xms5g -Xmn1280m -XX:PermSize=640m -Xss1280k -XX:+DisableExplicitGC \
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection \
-XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly \
-XX:CMSInitiatingOccupancyFraction=70 "
重启 解决