设置zookeeper jvm内存

看了你的问题, 我还特意的查看了ZooKeeper的启动脚本代码。ZooKeeper启动脚本没有加任何参数,也就是使用jvm默认的。

如果想要加大ZooKeeper的JVM使用内存。可以在更改{ZK_HOME}/bin/zkServer.sh,大约在109-110行。

1
2
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 &

改为

1
nohup $JAVA "-Xmx1G -Xms1G -Dzookeeper.log.dir=${ZOO_LOG_DIR}"...
 

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