在CentOS中配置Zookeeper内存可从以下方面入手:
调整JVM堆内存
zkEnv.sh文件(位于Zookeeper安装目录的conf文件夹),通过设置JVMFLAGS参数调整初始堆内存(-Xms)和最大堆内存(-Xmx),建议设置为服务器物理内存的1/3 - 1/2,例如-Xms2g -Xmx2g。zoo.cfg文件,添加javaOpts=-Xms<size> -Xmx<size>参数。优化系统级资源限制
cgroups限制Zookeeper进程的内存占用,通过cgcreate创建内存控制组并设置memory.limit_in_bytes。systemd服务文件配置内存限制,在/etc/systemd/system/zookeeper.service的[Service]中添加MemoryLimit参数。调整Zookeeper配置参数
tickTime(心跳间隔,默认2000ms)、initLimit(初始化超时)、syncLimit(同步超时)等参数,减少不必要的内存消耗。autopurge.snapRetainCount(保留快照数量)和autopurge.purgeInterval(清理间隔)。其他优化手段
swapoff -a)或调整swappiness参数,避免内存与磁盘频繁交换。注意:修改配置后需重启Zookeeper服务生效,建议在测试环境验证后再应用到生产环境。