请教一个关于rocketmq的问题

白白了白呀白 2019-05-09 03:54:12
请问下linux配置rocketmq的话对内存大小有要求吗,我买的1G内存的服务器 有运行了MySQL tomcat,free m查看只剩下200多m内存了 我把runserver.sh文件和runbroker.sh的大小都设置在200M以内了,启动服务器和broker查看日志说启动成功了,但是我运行测试类却报错了,好像是提示我内存的问题

[root@hwsrv-492511 bin]# sh tools.sh org.apache.rocketmq.example.quickstart.Producer
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000d0000000, 805306368, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 805306368 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /home/java/rocketmq/distribution/target/apache-rocketmq/bin/hs_err_pid16421.log
请问是我剩余内存太小了吗
...全文
3755 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2020-09-03
  • 打赏
  • 举报
回复
你是不是只改了runserver.sh的启动内存值,还要改runborker.sh,具体修改可以参考 第一步:修改runserver.sh中的JVM参数: 原参数值: JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 修改后的参数值: JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m" 注:根据服务器配置自行设置 第二步:修改runborker.sh中的JVM参数 原参数值: JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g" 修改后的参数值: JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"
maradona1984 2020-08-28
  • 打赏
  • 举报
回复
还不如自己电脑整个虚拟机
yigemingzi1024 2020-08-28
  • 打赏
  • 举报
回复
启动前先修改rocketmq可占用内存大小
_龙卷风_ 2020-08-28
  • 打赏
  • 举报
回复
lz你后来设置的多大内存,我也是1g内存,遇到和你一样的问题了
白白了白呀白 2019-05-09
  • 打赏
  • 举报
回复
引用 3 楼 LCL_data 的回复:
1G的内存也太少了,服务器至少16G起步,大部分是32G的

我只是买个服务器做着测试学习一下mq 我后面修改了tools.sh里的大小后算是正常了,不过我测试过程中复制的官方同步生产者的demo,生产消费正常,但是用异步的demo却会报错不止为何:
org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
See http://rocketmq.apache.org/docs/faq/ for further details.
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:610)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.access$300(DefaultMQProducerImpl.java:86)
at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl$2.run(DefaultMQProducerImpl.java:443)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
8 Exception org.apache.rocketmq.client.exception.MQClientException: The producer service state not OK, SHUTDOWN_ALREADY
See http://rocketmq.apache.org/docs/faq/ for further details.
org.apache.rocketmq.client.exception.MQClientException: The producer service state not OK, SHUTDOWN_ALREADY

因为同步生产者默认Message里的topic的名称是TopicTest,我自己取了一个topic名字启动却一样报错MQClientException: No route info of this topic, opicTest,有点搞不明白
十八道胡同 2019-05-09
  • 打赏
  • 举报
回复
1G的内存也太少了,服务器至少16G起步,大部分是32G的
白白了白呀白 2019-05-09
  • 打赏
  • 举报
回复
引用 1 楼 LCL_data 的回复:
There is insufficient memory for the Java Runtime Environment to continue. 就是说剩余内存不够给JRE用了
那这个内存大概需要预留多少啊, 这么吃内存吗
十八道胡同 2019-05-09
  • 打赏
  • 举报
回复
There is insufficient memory for the Java Runtime Environment to continue. 就是说剩余内存不够给JRE用了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧