Was bedeutet java.lang.OutOfMemoryError?
Hey habe auf nen VServer nen MC Server installiert und habe folgende Fehlermeldung beim starten.
Error occurred during initialization of VM
java.lang.OutOfMemoryError: unable to create new native thread
Zum starten nutze ich wie gewöhnlich ein start.sh skript
#!/bin/bash
while true ; do
echo ""
echo " #########################################"
echo " ## Auto Restart Script ##"
echo " ## ##"
echo " ## Press Ctrl + C ONLY when this ##"
echo " ## message shows to stop the loop. ##"
echo " #########################################"
echo "Starting in 5 seconds..."
sleep 1
echo "Starting in 4 seconds..."
sleep 1
echo "Starting in 3 seconds..."
sleep 1
echo "Starting in 2 seconds..."
sleep 1
echo "Starting in 1 seconds..."
sleep 1
java -Xms500M -Xmx1000M -jar Bungee.jar --log-strip-color
done
2 Antworten
Du hast der Java-VM zu wenig Speicher zugewiesen.
-Xmx2048M
könnte helfen.
Jenachdem, was die Anwendung macht, kann es sich auch um ein Memory-Leak handeln, und mehr Speicher behebt das Problem nicht.
Woher ich das weiß:Berufserfahrung – Java-Entwickler von Batch- und Webanwendungen
OutOfMemory bedeutet was es vermuten laesst: du hast zu wenig RAM in der Kiste. Also entweder Limits (-Xms und -Xmx) runter oder groesseren vServer holen.
Alternativ gucken, was sonst noch fuer Dienste laufen, die sich Memory schnappen und die abschalten.
Mein Server hat 12GB RAM und habe dem MC Server jetzt 5 davon zugewiesen...
Wenn die JVM schon mit 1G Limit nen OOM wirft, macht sie das bei 2G Limit auch.
"Hey, Motor hier. Gib mir mal 1000 Liter Benzin." - "Huch nein, hab keine 1000 Liter. Fehler." - "GIB MIR MAL 2000 LITER BENZIN JUNGE!" (-: