RocketMQ 解决:There is insufficient memory for the Java Runtime Environment to continue
编辑
35
2023-12-11
1.场景描述
linux 安装 rocketmq 启动 mqnameserver、mqbroker 以及运行测试类生产者时报错。
运行命令为:
nohup sh bin/mqnamesrv &
或者
nohup sh bin/mqbroker -n localhost:9876 &
或者
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
报错内容为:
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 805306368 bytes for committing reserved memory.
2. 原因
默认运行内存设置过大,我查看我的好多默认设置都是大于1G ,甚至有的是 2G 、4G ....
3.解决
修改目录 /distribution/target/apache-rocketmq/bin 下的 3 个配置文件: runserver.sh、runbroker.sh 、tools.sh 。
设置 runserver.sh 中此项配置 为:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
设置 runbroker.sh 中此项配置 为:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
(我改了 runserver.sh、runbroker.sh 依旧不行,后来注意到 tools.sh 中也有配置,3个都改就行了)
设置 tools.sh 中此项配置 为:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
完成以上操作,后续测试就成功运行了。
参考:https://www.cnblogs.com/dingkailinux/p/8874726.html
版权声明:本文为CSDN博主「微风--轻许--」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiangyu1013/article/details/81486374
- 0
- 0
-
赞助
赞赏 -
分享