請問下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
uj5u.com熱心網友回復:
There is insufficient memory for the Java Runtime Environment to continue.就是說剩余記憶體不夠給JRE用了
uj5u.com熱心網友回復:
那這個記憶體大概需要預留多少啊, 這么吃記憶體嗎uj5u.com熱心網友回復:
1G的記憶體也太少了,服務器至少16G起步,大部分是32G的uj5u.com熱心網友回復:
我只是買個服務器做著測驗學習一下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,有點搞不明白
uj5u.com熱心網友回復:
lz你后來設定的多大記憶體,我也是1g記憶體,遇到和你一樣的問題了uj5u.com熱心網友回復:
啟動前先修改rocketmq可占用記憶體大小uj5u.com熱心網友回復:
還不如自己電腦整個虛擬機uj5u.com熱心網友回復:
你是不是只改了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"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/12750.html
標籤:Web 開發
下一篇:多執行緒 物件鎖的問題
