设置zookeeperJVM大小

zookeeper启动时报错,日志提示“Java heap space”

按照网上的办法,应该是需要配置zookeeper的JVM

配置文件在那里呢?请查看文件路径:zookeeper/bin/zkEnv.sh

配置文件路径在zookeeper/conf/java.env,如果java.env该文件不存在,那么就创建该文件

1
2
3
4
5
#!/bin/sh
export JAVA_HOME=/usr/java/jdk # 这是你JDK安装路劲
#export JAVA_HOME=/home/jdk1.8.0_131
# heap size MUST be modified according to cluster environment
export JVMFLAGS="-Xms512m -Xmx1024m $JVMFLAGS" #这里是需要设置的内存大小

确保设置一个合理的JVM堆大小,如果设置太大,会让内存与磁盘进行交换,这将使ZK的性能大打折扣。例如一个4G内存的机器的,如果你把JVM的堆大小设置为4G或更大,那么会使频繁发生内存与磁盘空间的交换,通常设置成3G就可以了。当然,为了获得一个最好的堆大小值,在特定的使用场景下进行一些压力测试。

查看

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