2014-01-30 6 views
16

Ich benutze DigiOcean-Instanz mit 512 MB RAM, ich bekomme den unteren Fehler mit Kafka. Ich bin kein Java-fähiger Entwickler. Wie stelle ich Kafka ein, um die geringe Menge Ram zu nutzen? Dies ist ein Dev-Server. Ich möchte nicht mehr pro Stunde für eine größere Maschine bezahlen.Kafka 8 und Speicher - Es ist nicht genug Speicher für die Java-Laufzeitumgebung

# 
# 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) 

Antwort

37

Sie können die JVM-Heap-Größe anpassen, indem kafka-server-start.sh bearbeiten, zookeeper-server-start.sh und so weiter:

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 

Die -Xms Parameter geben die minimale Speichergröße. Um Ihren Server zumindest zu starten, versuchen Sie, ihn zu ändern, um weniger Speicher zu verwenden.

export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" 

Ich bin mir nicht sicher, was die minimalen Speicheranforderungen von kafka in Standardkonfiguration sind - vielleicht müssen Sie die Nachricht anpassen: Vorausgesetzt, dass Sie nur 512M haben, sollten Sie die maximale Heap-Größe (-Xmx) ändern Größe in Kafka, um es zu laufen.

1

Gebiet: HotSpot/gc

Synopsis

Crashes due to failure to allocate large pages. 

On Linux, failures when allocating large pages can lead to crashes. When running JDK 7u51 or later versions, the issue can be recognized in two ways: 

    Before the crash happens, one or more lines similar to the following example will have been printed to the log: 

    os::commit_memory(0x00000006b1600000, 352321536, 2097152, 0) failed; 
    error='Cannot allocate memory' (errno=12); Cannot allocate large pages, 
    falling back to regular pages 

    If a file named hs_err is generated, it will contain a line similar to the following example: 

    Large page allocation failures have occurred 3 times 

The problem can be avoided by running with large page support turned off, for example, by passing the "-XX:-UseLargePages" option to the java binary. 
Verwandte Themen