2017-09-10 57 views
1

我尝试出演rockerMQ经纪人,但我得到了错误信息:阿帕奇rockerMQ代理未启动

没有足够的内存用于Java运行时环境继续。

本机内存分配(mmap)无法映射提交保留内存的8589934592字节。

更多信息的错误报告文件保存为:

/usr/local/soft/rocketMQ/incubator-rocketmq/distribution/target/apache-rocketmq/hs_err_pid6034.log

Java的热点( TM)64位服务器VM警告:INFO:os :: commit_memory(0x00000005c0000000,8589934592,0)失败;错误= '无法分配内存'(错误= 12)

和我从错误日志文件有关的存储信息的内容:

内存:4K页,物理4089840k(免费551832k)交换2621432k(2621432k免费) vm_info:适用于linux-amd64 JRE(1.8.0_144-b01)的Java HotSpot™64位服务器VM(25.144-b01),由“java_re”创建于2017年7月21日星期二21:57:33 “with gcc 4.3.0 20080428(Red Hat 4.3.0-8)

我该如何让rockerMQ经纪人为我工作

回答

0

尝试修改启动shell脚本,使较小的JVM堆大小在你的开发/测试ENV

1

可以减少JVM堆大小。 打开项目的分布/斌/ runbroker.sh文件并更改以下行

JAVA_OPT = “$ {} JAVA_OPT -server -Xms8g -Xmx8g -Xmn4g”

JAVA_OPT =“$ {JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g”

现在broker只会生成一个4G堆,我希望它能解决您的问题。现在您可以尝试构建并运行。