Die Java Virtual Machine konnte auf Ubuntu VPS nicht mit dem gesamten ihr zugewiesenen RAM erstellt werden

Die Java Virtual Machine konnte auf Ubuntu VPS nicht mit dem gesamten ihr zugewiesenen RAM erstellt werden

Ich versuche, eine Datei auf einem VPS mit 384 MB RAM auszuführen. Wenn ich die Datei mit diesem Befehl auf dem Terminal ausführe

java -jar server.jar 

Der Prozess wird einfach gestartet, aber da ihm nur etwa 180 MB zugewiesen sind, muss ich den gesamten verfügbaren RAM zuweisen, sonst stürzt der Server ab. Ich führe den Befehl free -m aus und erhalte diese Ausgabe:

                 total       used       free     shared    buffers     cached
Mem:           384         58        325          6          0         44
-/+ buffers/cache:         14        369
Swap:           96          0         96

Ich habe also viele Befehle mit unterschiedlichen RAM-Mengen wie diesen ausprobiert, aber keiner hat funktioniert, Java konnte die Java Virtual Machine nicht erstellen:

java -Xms32M -Xmx256M -jar minecraft_server.jar

Ich habe versucht, den maximalen RAM, die Hälfte und andere Werte einzugeben, aber es tritt ein Fehler auf. Vorher habe ich dieselbe Datei auf einem 1-GB-VPS ausgeführt und dieser Befehl hat einwandfrei funktioniert:

java -Xmx1024M -Xms1024M -jar bukkit.jar

Meine Java-Version ist:

    java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
OpenJDK Client VM (build 24.51-b03, mixed mode)

Mein Betriebssystem ist Ubuntu Server 12.04 x86 Ich hoffe, Sie können mir helfen, ich stecke seit zwei Tagen mit dem gleichen Problem fest

EDIT: Fehlermeldungen bei unterschiedlicher RAM-Größe

    root@vps-dot-me:~# java -Xms32M -Xmx384M -jar mine.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

root@vps-dot-me:~# java -server -Xms128M -Xmx256M -jar mine.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

    root@vps-dot-me:~# java -XX:MaxHeapSize=256m -jar mine.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Antwort1

Möglicherweise ist die Speicherzuweisung zu klein. Versuchen Sie, sie schrittweise zu erhöhen. Wenn dies bei der kleineren Zuweisung nicht gelingt, versuchen Sie es mit der nächstgrößeren Zuweisung.

export _JAVA_OPTIONS="-Xms128m -Xmx128m
export _JAVA_OPTIONS="-Xms256m -Xmx256m
export _JAVA_OPTIONS="-Xms512m -Xmx512m
export _JAVA_OPTIONS="-Xms1024m -Xmx1024m

Führen Sie diesen Befehl aus, nachdem Sie dieselben Einstellungen vorgenommen haben:

java -jar yourJavaApp.jar

(Sie müssen sich im Verzeichnis Ihrer App befinden).

Bitte beachten Sie, dass Sie es „vorübergehend“ versuchen können, indem Sie Folgendes als Option eingeben:

java -Xms128m -Xmx128m -jar yourJavaApp.jar 

Es schlägt fehl, weil der JRE nicht genügend Speicher zugewiesen ist. Vielleicht haben Sie zu viele offene Apps, zu wenig Speicher usw.

verwandte Informationen