为了账号安全,请及时绑定邮箱和手机立即绑定

kafka java进程消耗太多内存

kafka java进程消耗太多内存

慕姐4208626 2021-10-27 10:39:09
我有一个带有三个节点的 kafka 0.11.xx 服务器。托管服务器的机器是具有 4GB RAM 的 linux Ubuntu 机器。我可以看到 java 进程使用了大约 90% 的 RAM。我已将堆值设置为 5GB。消耗内存的进程是jre/bin/java -Xmx5G -Xms5G那么,kafka 预计以 4-5 GB 的内存运行是正常情况,还是不正常的情况。如果这不是通常的情况,您能否提出解决此问题的建议,或者增加 RAM 将是唯一的答案。
查看完整描述

2 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

Kafka旨在使用可用的内存,作为确保其高性能的一部分。

Linux 也会抢占它需要的内存,这不一定是件坏事。

如果您的性能分析确定机器在可用 RAM 上存在瓶颈,我只会担心内存使用情况。


查看完整回答
反对 回复 2021-10-27
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

一些东西:

  • 不知何故,您将 JVM 堆参数设置为 5GB。但是你的服务器只有 4GB 的物理内存?您需要为操作系统、其他辅助应用程序/实用程序以及 Kafka 留出内存,否则您会遇到问题。

  • Kafka 本身依赖于堆外内存(即JVM之外的内存)从那里为消费者提供服务,因此它不必一直从磁盘读取所有内容。但同样,您需要有可用的内存。

既然你表明有没有大量的活动的集群上,我会先用(我假定这就是你贴什么)设置JVM参数为卡夫卡服务只有2GB,所以开始:-Xmx2G -Xms2G。然后看看它如何影响您的应用程序/服务。然后,Kafka 将有大约 2GB 以上的 RAM 用于堆外处理。


查看完整回答
反对 回复 2021-10-27
  • 2 回答
  • 0 关注
  • 614 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信