RocketMQ的broker用如下命令启动:
nohup sh bin/mqbroker -n localhost:9876 &
使用jps查看,系统非常卡顿,broker的名字也未显示。使用top命令,发现broker的进程的内存占用率高达93%,难怪linux系统如此卡顿。
解决办法:
从如下路径进入rocketmq-all-4.3.2/distribution/target/apache-rocketmq/bin,找到箭头指的2个文件。
使用vim xxx.sh命令进行JVM参数配置修改:
将runbroker.sh的第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
将runserver.sh的第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改原因:默认配置文件初始内存设置的太大了,导致内存居高不下,修改后重新启动namesrv和broker即可,此时系统内存占有率正常。