我尝试为rockerMQ经纪人担任主角,但我收到了错误消息:
Java Runtime Environment没有足够的内存继续。
本机内存分配(mmap)无法映射8589934592字节以提交保留内存。
包含更多信息的错误报告文件保存为:
/usr/local/soft/rocketMQ/incubator-rocketmq/distribution/target/apache-rocketmq/hs_err_pid6034.log
Java HotSpot(TM)64位服务器VM警告:INFO:os :: commit_memory(0x00000005c0000000,8589934592,0)失败; error ='无法分配内存'(errno = 12)
我从错误日志文件中得到了一些关于内存消息的内容:
内存:4k页面,物理4089840k(551832k免费),交换2621432k(2621432k免费) vm_info:Java HotSpot(TM)64位服务器虚拟机(25.144-b01),适用于linux-amd64 JRE(1.8.0_144-b01),于2017年7月21日21:57:33由“java_re”构建,内容为gcc 4.3.0 20080428 (Red Hat 4.3.0-8)
我怎么能让rockerMQ经纪人为我工作
答案 0 :(得分:1)
您可以减少JVM堆大小。 打开项目的 distribution / bin / runbroker.sh 文件并更改以下行
JAVA_OPT =" $ {JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
作为
JAVA_OPT =" $ {JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g"
现在经纪人只会生成一个4G堆。我希望它能解决你的问题。现在你可以尝试构建和运行。
答案 1 :(得分:0)
尝试修改启动shell脚本以在dev / test env中创建更小的JVM堆大小