前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
1.場景描述
linux 安裝 rocketmq 啟動?mqnameserver、mqbroker 以及運行測試類生產者時報錯。
運行命令為:
nohup sh bin/mqnamesrv &或者
nohup sh bin/mqbroker -n localhost:9876 &或者
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
報錯內容為:
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 805306368 bytes for committing reserved memory.
2. 原因
默認運行內存設置過大,我查看我的好多默認設置都是大于1G ,甚至有的是 2G 、4G ....
3.解決
修改目錄?/distribution/target/apache-rocketmq/bin 下的 3 個配置文件:?runserver.sh、runbroker.sh 、tools.sh 。
設置 runserver.sh 中此項配置 為:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
設置 runbroker.sh 中此項配置 為:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
(我改了?runserver.sh、runbroker.sh 依舊不行,后來注意到 tools.sh 中也有配置,3個都改就行了)
設置 tools.sh 中此項配置 為:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
完成以上操作,后續測試就成功運行了。
?
參考:https://www.cnblogs.com/dingkailinux/p/8874726.html