Warum lässt sich der Minecraft Server nicht starten?
Auf dem Rootserver ist Java 17 und ich möchte einen 1.16.5 Paper Server starten mit screen. Hier ist der Start Command:
#!/bin/bash
screen -S Citybuild java -Xms4096M -Xmx4096M -jar paper-1.16.5.jar nogui
1 Antwort
Auf dem Rootserver ist Java 17 und ich möchte einen 1.16.5 Paper Server starten mit screen. Hier ist der Start Command:
aha, und was kommt als Fehlermeldung? Starte es doch mal ohne Screen und führe den Befehl für den Server direkt aus ...
Xms4096M -Xmx4096M
Warum setzt du Xms = Xmx? ist etwas unnötig. Setz doch einen gewissen Bereich fest, der Server nimmt sich dann, was er braucht.
Kannst ja Xms auf 1G und Xmx auf 4G setzen.
Ungenutzter RAM geht - zumindest unter Linux - ans File Caching. Es macht also Sinn, Xms != Xmx zu setzen
Jein. Wenn man seine Ressourcen sinnvoll dimensioniert hat, sollte man auch bei voller heap Nutzung noch >1 GB RAM frei haben, der dann fürs Caching verwendet werden kann. Das reicht in der Regel vollkommen aus, wenn die Anwendung nicht stark Io lastig ist. Das würde ich bei einem Minecraft Server nicht annehmen.
Da ist der Performance Effekt durch das hoch und Runterskalierung des heaps großer, vor allem wenn die Anwendung g1gc verwendet.
Dass man den Heap nicht auf die ganze Menge des RAMs setzen sollte, versteht sich von selbst, ist aber auch nicht Bestandteil der Diskussion hier.
Der Performance-Einfluss von einem Speicherbereich vs feste Größe ist vernachlässigbar ...
Kann es sein das Java 17 bei der 1.16.5 nicht unterstütz wird?
Kann es sein das Java 17 bei der 1.16.5 nicht unterstütz wird?
Es sollte funktionieren, aber kannst auch mal eine andere Java-Version probieren (11 z.B.). Sonst: Fehlermeldung lesen und beheben
eigentlich ist das schon richtig so. Wenn die Java VM ständig die Speicherbereiche anpassen muss, weil er mal mehr und mal weniger Heap benötigt, kostet das nur unnötig Zeit. Und im System sollte eh der Ram für den Max Wert + Puffer freigehalten werden, somit bringt es auch keinen wirklichen Vorteil die Werte unterschiedlich zu setzen.