RocketMQ报错: commit_memory(0x00000006ec800000, 2147483648, 0) failed; error=‘Cannot allocate memory

RocketMQ报错: commit_memory(0x00000006ec800000, 2147483648, 0) failed; error=‘Cannot allocate memory环境:虚拟机测试环境,在向MQ推送消息发现连不上namesrv,查看netstat-antlp|grep9876发现namesrv进程已关闭。利用命令重启:sh/usr/local/rocketmq/rocketmq-all/bin/mqnamesrv提示报错:[root@hantestrocketmq-all]#sh/usr/local/rocketmq/rocketmq-all/bin/mqnamesrvOpenJDK64-BitServerVMw

大家好,又见面了,我是你们的朋友全栈君。

环境:

虚拟机测试环境,在向MQ推送消息发现连不上namesrv,查看

netstat -antlp | grep 9876

发现namesrv进程已关闭。利用命令重启:

sh /usr/local/rocketmq/rocketmq-all/bin/mqnamesrv

提示报错:

[root@hantest rocketmq-all]# sh /usr/local/rocketmq/rocketmq-all/bin/mqnamesrv
OpenJDK 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006ec800000, 2147483648, 0) failed; error=’Cannot allocate memory’ (errno=12)
 

解决:

定位到是内存不足错误,采用调整参数扩容。

更改  bin/runserver.sh下的参数:

将上边一行改为下面一行即可。

#JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

重新运行启动脚本,启动成功。

 

踩坑

1 注意单位不一样,将 4g改为256m而不要忘了更改m,一开始忘了改单位所以报错:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f26b0a00000, 274877841408, 0) failed; error=’Cannot allocate memory’ (errno=12)

2 xmn要小于前面的值,不然会报错

OpenJDK 64-Bit Server VM warning: MaxNewSize (131072k) is equal to or greater than the entire heap (131072k).  A new max generation size of 131008k will be used.

参考: 

哎,一古,金社长:博主:JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”这个配置有问题吧,Xms和Xmx都设置为256了,Xmn搞个512,新生代的大小比整个堆都大1 年前回复RocketMQ报错: commit_memory(0x00000006ec800000, 2147483648, 0) failed; error=‘Cannot allocate memory

 

参考链接

https://www.jianshu.com/p/837b4c6aee65

https://blog.csdn.net/jiangyu1013/article/details/81486374

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146384.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • IntelliJ IDEA集成svn

    IntelliJ IDEA集成svnEclipse集成svn相信大家已经非常熟悉了,但是IntelliJIDEA如何集成svn呢?下面简单介绍一下(其他的版本控制工具的集成类似):1.首先配置下载并配置svn软件,推荐使用SlikSvn。2.在IntelliJIDEA集成svn,选择Subversion。3.配置完成之后就可以从svn服务器上checkout代码。4.修改代码之后,在该文件或

    2022年10月18日
  • manage.py作用_java源码解析

    manage.py作用_java源码解析源码目录结构ApiResponse这个类没啥好说的classApiResponse(Response):"""继承了requests模块中的Response类

  • clion永久激活码(JetBrains全家桶)

    (clion永久激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlML…

  • C语言 | 编写一个简单的定时关机程序「建议收藏」

    C语言 | 编写一个简单的定时关机程序「建议收藏」前言今天,我同学问我这个程序怎么做:于是,我用C给他写了一个类似的控制台程序:我的这个控制台程序有8个小功能,分别是:1、定时n秒后自动关机。2、定时到x点x分提醒你是否要关机,如果你没…

  • navicat激活码最新(破解版激活)[通俗易懂]

    navicat激活码最新(破解版激活),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • MySQL管理工具安装说明[通俗易懂]

    MySQL管理工具安装说明[通俗易懂]NavicatforMySQL10.0.11简体中文版(Linux版)navicat_for_mysql_10.0.11_cn_linux.tar.gz使用方法:1.打开终端:应用程序->系统工具(或附件)->终端,切换到root账户:$su-密码:(注意:输入root账户密码时,密码不会显示出来,也没有提示的特殊字符,直接输完密码按Enter键

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号