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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PyCharm设置中文(无需汉化包)(转载)

    PyCharm设置中文(无需汉化包)(转载)原文 PyCharm 设置中文 无需汉化包 转载 如果侵权请联系我删除

    2025年8月1日
    3
  • Java程序员必看的 14 本 Java 书籍![通俗易懂]

    Java程序员必看的 14 本 Java 书籍![通俗易懂]关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书!毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。在下面这13本书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。 入门 《HeadFirstJava》作者:KathySierra/…

    2022年7月7日
    119
  • 程序员应注意——米勒法则「建议收藏」

    程序员应注意——米勒法则「建议收藏」米勒(1956)提出,人脑同时只能处理7±2个信息团,这一发现被称为米勒法则。虽然学者们对于米勒法则所指的魔法数字究竟是多少仍有争议,人脑具有短期存储与信息处理限制这一事实已被学者们所公认。

    2022年8月3日
    3
  • 如何使用Fiddler模拟弱网情况对app进行测试「建议收藏」

    前言很多时候,我们需要在弱网情况下,对app进行测试,不可能将app放置到离路由器很远的地方,这里可以模拟弱网来测试app。那么,我们这里使用Fiddler工具来模拟弱网。使用speedtest在线测速工具来测试网络。一、Fiddler工具连接手机,设置代理打开Fiddler,进入到Tools—>options,如图所示:再次选择Connection

    2022年4月10日
    62
  • 匿名函数自调用_自己调用自己的函数叫

    匿名函数自调用_自己调用自己的函数叫我们知道一个HTML文件在被加载的时候是从根标签html依次往下的,在遇到link,script等标签引入的外部资源时,下载外部资源,并执行外部资源。在js中,表达式会被立即执行,也就是说,不管是引入的外部js文件还是嵌入在html文件中的js脚本,其中的表达式都会被立即执行。函数名是一个指向函数的指针。在JavaScript中,定义函数有常见的两种形式:函数声明和函数直接量(或者叫函数表达式)

    2022年10月3日
    2
  • 个人总结 – JS逆向解析[通俗易懂]

    个人总结 – JS逆向解析[通俗易懂]目前加密的方式总结有下面几点: 对称加密(加密解密密钥相同):DES、DES3、AES 非对称加密(分公钥私钥):RSA 信息摘要算法/签名算法:MD5、HMAC、SHA 前端实际使用中MD5、AES、RSA,自定义加密函数使用频率是最高的 几种加密方式配合次序:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,用签名算法生成非对称加密…

    2022年6月19日
    108

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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