我做了一些测试,似乎动物园管理员没有清理最后一次 500个已删除的节点。
在我的测试中,我创建了节点并在创建后删除了每个节点。一世 重复此步骤1000次,然后触发一个完整的gc。这些是 结果
Creating 1000 Nodes and deleting 1000 Nodes and each node has... ...1000kb data = 529MB heap used after FullGC ...500kb data = 281MB heap used after FullGC ...256kb data = 140MB heap used after FullGC ...128kb data = 68MB heap used after FullGC
如果我用每1000kb数据创建1000个节点,然后删除 节点和之后创建1000个节点与128kb数据并删除 再次使用节点,使用68MB堆空间。
所以似乎Zookeeper缓存/不清理最后500个已删除的节点。
这是一个错误还是有配置参数来改变这种行为?