我尝试给 rockerMQ broker 加注星标,但我收到了错误消息:
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
An error report file with more information is saved as:
/usr/local/soft/rocketMQ/incubator-rocketmq/distribution/target/apache-rocketmq/hs_err_pid6034.log
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
我从错误日志文件中得到了一些关于内存消息的信息:
Memory: 4k page, physical 4089840k(551832k free), swap 2621432k(2621432k free) vm_info: Java HotSpot(TM) 64-Bit Server VM (25.144-b01) for linux-amd64 JRE (1.8.0_144-b01), built on Jul 21 2017 21:57:33 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)
如何让 rockerMQ 代理为我工作
最佳答案
您可以减少 JVM 堆大小。 打开项目的 distribution/bin/runbroker.sh 文件并更改以下行
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
作为
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g"
现在broker只会生成一个4G的heap,希望能解决你的问题,现在你可以尝试build and run。
关于apache rocketMQ 代理没有启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46136787/