怎么自定义zookeeper的启动内存

运行zookeeper时,使用jmap -heap <pid> 命令查看内存情况如下:
zkhead.png

我怎么自定义修改大小?
已邀请:

push - 打杂的!

赞同来自: chris

找到你zookeeper的启动脚本文件zkServer.sh,大约在109-110行,加入如下设置: nohup $JAVA "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \ -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null & 改为 nohup $JAVA "-Xmx1G -Xms1G -Dzookeeper.log.dir=${ZOO_LOG_DIR}"...或者你到脚本中定义一个变量: JVMPARAM="-ms128M -mx128M -XX:MaxPermSize=16m"然后加入到nohup启动参数:
zkadd.png
然后用jmap在确认一下。

OpenSkill - OpenSkill官方账号

赞同来自: push Ansible

分配内存文件路径:zookeeper/bin/zkEnv.sh
heap.png
该文件已经明确说明有独立JVM内存的设置文件,路径是zookeeper/conf/java.env 安装的时候这个路径下没有有java.env文件,需要自己新建一个: # vim java.env #!/bin/sh export JAVA_HOME=/usr/java/jdk # heap size MUST be modified according to cluster environment export JVMFLAGS="-Xms1g -Xmx3g $JVMFLAGS"对于内存的分配,还是根据项目和机器情况而定。如果内存够用,适当的大点可以提升zk性能。

要回复问题请先登录注册