我有一个带有三个节点的kafka 0.11.xx服务器。 托管服务器的计算机是具有4GB RAM的Linux Ubuntu计算机。 我可以看到Java进程占用了大约90%的RAM。 我已将堆值设置为5GB。
消耗内存的过程是 jre / bin / java -Xmx5G -Xms5G
这是正常的情况,其中kafka预期将以4-5 GB的内存运行,还是不正常?
如果不是通常的情况,您能建议解决此问题,还是增加RAM是唯一的答案。
答案 0 :(得分:1)
Kafka是designed to use the memory available to it,是确保其高性能的一部分。
Linux也将grab the memory it needs,这不一定是一件坏事。
仅当您的性能分析确定计算机在可用RAM上出现瓶颈时,我才担心内存使用情况。
答案 1 :(得分:1)
几件事:
由于您指示集群上没有太多活动,因此我首先将设置Kafka服务(我假设是您发布的内容)的JVM参数设置为仅2GB,因此:-Xmx2G -Xms2G
。然后查看它如何影响您的应用程序/服务。然后,Kafka将有大约2GB +的RAM用于堆外处理。