【发布时间】:2019-01-05 10:15:16
【问题描述】:
我在 EC2 4GB RAM 实例上运行独立的 kafka 代理。在默认设置中,Kafka 配置为使用 1GB 内存 -Xmx1G -Xms1G
由于 VM 只有 4GB 内存,是否可以将 JVM 设置配置为使用 512MB?我该怎么做? Kafka 能否在 512MB 内存下正常运行,还是至少需要 1GB?
【问题讨论】:
-
6-8GB其实是生产级最好的性能。鉴于最新偏移量的所有消费者请求都直接从堆中取出,不确定为什么您想要少于 4 个。如果这些机器上没有其他进程,您应该能够安全地使用 3GB
-
我明白了。但它是一个测试服务器,也有 mongodb 和一些节点服务在运行,所以想限制 kafka 的内存消耗,一直使用大约 900-1000MB
-
好吧,作为一个 Java 服务器进程,我很确定大部分内存都是必需的。您是否也在同一台机器上运行 Zookeeper?
-
是的。 Kafka、zookeeper、mongodb、redis、nodejs(4-5 个应用程序)。它是一个 4GB EC2 Ubuntu 虚拟机。将迁移到 8GB 用于生产并将 mongodb 与 VM 分离。想要限制开发环境的内存使用量
-
嗯。我真的不会考虑那种生产。失去一台服务器,您将失去一半以上的应用堆栈
标签: java apache-kafka heap-memory