【问题标题】:Kafka broker JVM settings below 1GBKafka 代理 JVM 设置低于 1GB
【发布时间】: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


【解决方案1】:

要设置您自己的 JVM 堆设置,您只需导出 KAFKA_HEAP_OPTS,Kafka 会在启动时将其拾取。

例如,要将堆设置为 512MB,请运行

export KAFKA_HEAP_OPTS="-Xmx512m -Xms512M"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-12
    • 2019-10-08
    • 2017-07-30
    • 2022-12-10
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多