欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

RocketMQ安装内存不足的问题

发布时间:2024/4/13 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 RocketMQ安装内存不足的问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

这是因为bin 目录下启动 nameserv 与 broker 的 runbroker.sh 和 runserver.sh 文件中默认分配的内存太大,rocketmq比较耗内存,所以默认分配的内存比较大,而系统实际内存却太小导致启动失败, 通常像虚拟机上安装的 CentOS 服务器内存可能是没有高的,只能调小。实际中应该根据服务器内存情况,配置一个合适的值

# There is insufficient memory for the Java Runtime Environment to continue.  # Native memory allocation (mmap) failed to map 8589934592 bytes for committing  reserved memory.  # An error report file with more information is saved as:  # /data/program/rocketmq-all-4.5.0-bin-release/bin/hs_err_pid6465.log

解决办法

修改runbroker.sh和runbroker.sh

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512g"  Xms 是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时 间变慢。 Xmx 是指设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,超出了这个设置值,  就会抛出OutOfMemory异常。 xmn 年轻代的heap大小,一般设置为Xmx的3、4分之一

 
停止服务 

【sh bin/mqshutdown broker】 //停止 brokersh 

【bin/mqshutdown namesrv】 //停止 nameserver 

停止服务的时候需要注意,要先停止broker,其次停止nameserver。

broker.conf文件 

默认情况下,启动broker会加载conf/broker.conf文件,这个文件里面就是一些常规的配置信息

namesrvAddr //nameserver地址

brokerCl usterName //Cluster名称,如果集群机器数比较多,可以分成多个cluster,每个cluster提供
给不同的业务场景使用

brokerName //broker名称,如果配置主从模式,master和slave需要配置相同的名称来表名关系

brokerId=0 //在主从模式中,一个master broker可以有多个slave,0表示master,大于0表示不同
slave的id 

brokerRole=SYNC_MASTER/ASYNC_MASTER/SLAVE ; 同步表示slave和master消息同步完成后再返回
信息给客户端

autoCreateTopicEnable = true ; topic不存在的情况下自动创建

 

超强干货来袭 云风专访:近40年码龄,通宵达旦的技术人生

总结

以上是生活随笔为你收集整理的RocketMQ安装内存不足的问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。