java Hazelcast CP子系统FencedLock内存使用
设置:
- Hazelcast:3.12.3
- 弹簧靴:2.1.6
- Java:1.8
- Args:-XX:+UseG1GC
- Xms7g-Xmx7g这些都在Docker:openjdk:8中运行
- 它们在专用的vmware节点CentOS 7.5.1804中运行
我一共有7个节点组成了hazelcast集群。 其中5人是CP成员。组大小设置为3。 其他值得注意的配置更改:setSessionTimeToLiveSeconds(200),setMissingCPMemberAutoRemovalSeconds(240)
用法: 我有8个客户端试图获取长密钥的防护锁,接口被缓存了5分钟。密钥几乎总是不同的,但在某些情况下,我们会收到同一密钥的许多操作,我们希望避免对这些密钥进行异步更新。 在过去,我使用IMap来实现这一点,但我注意到它并不总是尊重锁。Fenced lock在达到一定的内存使用率之前似乎表现得很好
问题: 我观察到,一个cp成员被大量使用,而G1旧的Gen堆随着时间的推移会略微增加。一天之内它就达到了5GB。即使在我停止锁定请求后,内存也永远不会被清除。
我试图创建两个组来利用集群中的更多节点,这确实有帮助,但问题仍然存在,一些节点上使用的堆随着时间的推移而增加,并且在某一点上变得非常缓慢
问题: 我做错了什么?这是这个工具的有效用例吗
共 (0) 个答案