前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rocketmq 解决:There is insufficient memory for the Java Runtime Environment to continue

rocketmq 解决:There is insufficient memory for the Java Runtime Environment to continue

作者头像
微风-- 轻许--
发布2022-04-13 15:48:20
9380
发布2022-04-13 15:48:20
举报
文章被收录于专栏:java 微风

1.场景描述

linux 安装 rocketmq 启动 mqnameserver、mqbroker 以及运行测试类生产者时报错。

运行命令为:

代码语言:javascript
复制
nohup sh bin/mqnamesrv &

或者
nohup sh bin/mqbroker -n localhost:9876 &

或者
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

报错内容为:

代码语言:javascript
复制
# 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 中此项配置 为:

代码语言:javascript
复制
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

设置 runbroker.sh 中此项配置 为:

代码语言:javascript
复制
 JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

(我改了 runserver.sh、runbroker.sh 依旧不行,后来注意到 tools.sh 中也有配置,3个都改就行了)

设置 tools.sh 中此项配置 为:

代码语言:javascript
复制
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"

完成以上操作,后续测试就成功运行了。

参考:https://www.cnblogs.com/dingkailinux/p/8874726.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/08/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.场景描述
  • 2. 原因
  • 3.解决
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档