Java Kafka broker JVM设置低于1GB

Java Kafka broker JVM设置低于1GB,java,apache-kafka,heap,Java,Apache Kafka,Heap,我正在EC2 4GB RAM实例上运行一个独立的kafka代理。在默认设置中,Kafka配置为使用1GB内存 -Xmx1G-Xms1G 由于VM只有4GB内存,是否可以将JVM设置配置为使用512MB?我该怎么做?Kafka是否可以使用512MB内存正常运行,或者1GB是所需的最小内存?要设置自己的JVM堆设置,只需导出Kafka_heap_OPTS,Kafka将在启动时拾取它 例如,要将堆设置为512MB,请运行 export KAFKA_HEAP_OPTS="-Xmx512m -Xms512

我正在EC2 4GB RAM实例上运行一个独立的kafka代理。在默认设置中,Kafka配置为使用1GB内存 -Xmx1G-Xms1G


由于VM只有4GB内存,是否可以将JVM设置配置为使用512MB?我该怎么做?Kafka是否可以使用512MB内存正常运行,或者1GB是所需的最小内存?

要设置自己的JVM堆设置,只需导出
Kafka_heap_OPTS
,Kafka将在启动时拾取它

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

export KAFKA_HEAP_OPTS="-Xmx512m -Xms512M"

6-8GB实际上是生产级最佳性能。不确定为什么希望小于4,因为所有最新偏移量的使用者请求都直接从堆中删除。如果我理解这些机器上没有其他进程,您应该能够安全地使用3GB。但是它是一个测试服务器,并且运行着mongodb和一些节点服务,所以我想限制kafka的内存消耗,因为kafka一直在使用大约900-1000MBAlright,作为一个Java服务器进程,我相当肯定大部分内存是必需的。你也在同一台机器上运行Zookeeper吗?是的。卡夫卡、zookeeper、mongodb、redis、nodejs(4-5个应用程序)。它是一个4GB的EC2 Ubuntu虚拟机。将转向8GB的生产,并将mongodb与VM分离。希望限制开发环境的内存使用量。我不会真的考虑生产。失去一台服务器,你会失去一半以上的应用程序堆栈