有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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。即使在我停止锁定请求后,内存也永远不会被清除。 enter image description here

我试图创建两个组来利用集群中的更多节点,这确实有帮助,但问题仍然存在,一些节点上使用的堆随着时间的推移而增加,并且在某一点上变得非常缓慢

问题: 我做错了什么?这是这个工具的有效用例吗


共 (0) 个答案