apache rocketMQ 代理没有启动

标签 apache rocketmq

我尝试给 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/

相关文章:

java - org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException : invokeAsyncImpl invoke too fast

php - 具有 unicode 名称的文件夹中的 Apache htdocs

macos - 升级到 macOS Sierra Apache 无法启动/停止/重新启动

php - Docker 容器从另一个容器调用二进制文件

php - $_GET 和 $_REQUEST 为空,但只是有时为空?

java - 1个Topic有4个队列,只能消费1个

java - RocketMQ管理控制台

apache-kafka - Apache Pulsar 与 Apache RocketMQ

java - RocketMQ名称服务器启动错误--无法找到或加载主类

php - mod_rewrite : Trailing slash on URL with two GET variables