rocketmq的默认启动参数占用的内存实在是太大了,小于8G的电脑无法启动,docker中的开发环境又不可能用这么大,通用的该法是改sh文件

修改文件如下

runbroker.sh 默认8G

JAVA_OPT="${JAVA_OPT} -server -Xms${Xms} -Xmx${Xmx} -Xmn${Xmn}"

改为

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx1g -Xmn125m"

runserver.sh 默认4G

JAVA_OPT="${JAVA_OPT} -server -Xms${Xms} -Xmx${Xmx} -Xmn${Xmn}"

改为

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx1g -Xmn125m"

rocketmq docker compose启动配置

  rocketmq:
    image: apache/rocketmq:4.9.6
    container_name: rocketmq
    ports: 
      - 9876:9876
    volumes:
      - '${PWD}/rocketmq/bin/runserver.sh:/home/rocketmq/rocketmq-4.9.6/bin/runserver.sh'
    environment:
      - "MAX_POSSIBLE_HEAP=1073741824"
      - "HEAP_NEWSIZE=131072000"
    command: sh mqnamesrv
    restart: always
  mqbroker:
    image: apache/rocketmq:4.9.6
    container_name: mqbroker
    ports:
      - 10909:10909
      - 10911:10911
      - 10912:10912
    volumes:
      - '${PWD}/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-4.9.6/conf/broker.conf'
      - '${PWD}/rocketmq/bin/runbroker.sh:/home/rocketmq/rocketmq-4.9.6/bin/runbroker.sh'
    environment:
      - "MAX_POSSIBLE_HEAP=1073741824"
      - "HEAP_NEWSIZE=131072000"
    command: sh mqbroker -n rocketmq:9876
    restart: always

其中broker.conf内容如下

brokerIP1=127.0.0.1

另外两个配置文件从容器里拷贝出来按照上面的修改jvm参数即可

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐