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)


相关推荐

发表回复

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

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