kafka 8 et mémoire - il n'y a pas assez de mémoire pour que L'environnement Java Runtime continue

j'utilise l'instance de DigiOcean avec 512 megs de ram, j'obtiens l'erreur ci-dessous avec kafka. Je ne suis pas un dev compétent en java. Comment puis-je ajuster kafka pour utiliser la petite quantité de ram. C'est un dev sever. Je ne veux pas payer plus par heure pour une machine plus grande.

#
# 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)
19
demandé sur Tampa 2014-01-30 09:55:02

2 réponses

vous pouvez ajuster la taille du tas JVM en éditant kafka-server-start.sh, zookeeper-server-start.shet ainsi de suite:

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"

-Xms paramètre spécifie la taille minimale du tas. Pour que votre serveur démarre au moins, essayez de le changer pour utiliser moins de mémoire. Étant donné que vous n'avez que 512M, vous devriez changer la taille maximale du tas (-Xmx):

export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

Je ne suis pas sûr de ce que les exigences minimales de mémoire de kafka dans la configuration par défaut sont - peut-être que vous avez besoin d'ajuster la taille du message dans kafka pour obtenir pour l'exécuter.

44
répondu Chris 2014-04-03 20:10:33

zone: 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.
1
répondu haobin zhang 2015-05-11 11:17:02