一尘不染

kafka 8和内存-Java运行时环境没有足够的内存来继续

java

我正在使用具有512兆内存ram的DigiOcean实例,使用kafka出现以下错误。我不是Java熟练的开发人员。如何调整卡夫卡以利用少量的ram。这是一个开发服务器。我不想为一台更大的机器每小时多付钱。

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 986513408 bytes for committing reserved memory.
# An error report file with more information is saved as:
# //hs_err_pid6500.log
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000bad30000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)

阅读 365

收藏
2020-12-03

共1个答案

一尘不染

您可以通过编辑来调整JVM堆大小kafka-server-start.shzookeeper-server-start.sh依此类推:

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"

-Xms参数指定最小堆大小。要使服务器至少启动,请尝试对其进行更改以使用更少的内存。假设您只有512M,则还应该更改最大堆大小(-Xmx):

export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

我不确定默认配置中kafka的最小内存要求是什么-也许您需要在kafka中调整消息大小才能使其运行。

2020-12-03