如何在Hazelcast配置中以编程方式减少RAM?

时间:2019-07-28 08:16:54

标签: java spring-boot microservices hazelcast

我有Ubuntu Server(16 GB RAM)。 40个微服务,包括 hazelcast 。每个服务都包含IMap。没有hazelcast,就没有问题。

我可以轻松地在服务器中运行我所有的jar。但是,包括hazelcast之后,我最多只能运行20个服务apprx。我的每个罐子都喝了400/500 mb ram。我测试了Xms:128Xmx:256无效。我发现Hazelcast喝了我的RAM。

2 个答案:

答案 0 :(得分:0)

Hazelcast预计会使用一些存储空间,因此,当您存储任何数据时,Hazelcast会使用更多的存储空间,因为数据将存储在同一存储空间中。但是,这将启用Neil提到的使用NOISY进行诊断,以便您可以调查内存的使用,并借助堆转储来解决可能的内存泄漏。

答案 1 :(得分:0)

注释中张贴的示例已正确设置Xmx。堆大小不能超过256,实际上只能达到一半。

28-07-2019 14:29:51 1564309791127 Metric[memory.maxHeap=254279680]
28-07-2019 14:29:51 1564309791127 Metric[memory.usedHeap=125628696]

请说明您如何使用400Mb-500Mb。如果堆的上限为256Mb,则需要使用jcmd或类似方法检查其余过程。

您也有

28-07-2019 14:29:51 1564309791127 Metric[thread.peakThreadCount=80]

这可能解释了很多非堆用法。他们可能每个人都使用1Mb。