我有Ubuntu Server(16 GB RAM)。 40个微服务,包括 hazelcast 。每个服务都包含IMap。没有hazelcast,就没有问题。
我可以轻松地在服务器中运行我所有的jar。但是,包括hazelcast之后,我最多只能运行20个服务apprx。我的每个罐子都喝了400/500 mb ram
。我测试了Xms:128
和Xmx:256
无效。我发现Hazelcast喝了我的RAM。
答案 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。