怎么自定义zookeeper的启动内存

运行zookeeper时,使用jmap -heap 命令查看内存情况如下: [attach]581[/attach] 我怎么自定义修改大小?
已邀请:

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启动参数:
[attach]582[/attach]
然后用jmap在确认一下。

OpenSkill - OpenSkill官方账号

赞同来自: push Ansible

分配内存文件路径:zookeeper/bin/zkEnv.sh
[attach]1017[/attach]
该文件已经明确说明有独立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性能。

要回复问题请先登录注册