RocketMQ 的默认内存占用非常高,通过更改mqbroker和mqnamesrv的配置可以调整内存。
有两个启动脚本,runbroker.sh 和runserver.sh。
找到runserver.sh和runbroker.sh,编辑,然后重新启动broker
JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”
mqbroker和mqnamesrv的内存也可以调整,这两项配置也很重要,默认是500m到1g。具体文件配置是mqbroker.xml和mqnamesrv.xml。文件里面的配置信息根据自己的情况修改:
<options> <-Xms200m></-Xms200m> <-Xmx200m></-Xmx200m> <-XX:NewSize>50M</-XX:NewSize> <-XX:MaxNewSize>50M</-XX:MaxNewSize> <-XX:PermSize>30M</-XX:PermSize> <-XX:MaxPermSize>30M</-XX:MaxPermSize> </options>
要注意的事情是mqbroker.xml和mqnamesrv.xml的内存不要超过runbroker.sh 和runserver.sh的内存,
不然会因为内存不够导致崩溃。