Minecraft Linux Server starten Xms?G?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Der Befehl ist zwar wie man einen Minecraft Server startet, jedoch startest du damit eine Java Virtuelle Maschiene bzw. Session als dein Benutzer der nicht eigenständig ist. Loggst du dich mit diesem Benutzer aus bzw. Terminierst du die Sitzung zum Server oder willst einfach nur etwas anders mit diesem Nutzer machen, wird die Session beendet und der Minecraft Server Stoppt.

Damit das nicht passiert nutzen wir ein Programm namens "Screen". Screen erstellt ein Terminal auf dem System anstatt deinen User zu benutzen da nicht du den Start befehl ausführst sondern Screen. Dadurch wird ein Terminal erstellt auf welches du dich verbinden kannst aber dich auch von lösen kannst was sozusagen die Minecraft Konsole ist. Der Screen läuft immer im Hintergrund weiter außer du Schließt das Screen Terminal oder der Minecraft Server Stoppt.

Screen Installierst du mit:

sudo apt-get install screen
Allerding weis ich nicht was ich bei -Xms1G und -Xmx2G einsetzen soll

-Xms1G steht für die minimale Zuweisung an Arbeitsspeicher, die die Java virtuelle Maschine (dein Minecraft Server) bekommt. Der Wert ist auf 1 G (Gigabyte) gesetzt. Der virtuellen Maschine hat also einen festen Gigabyte der auch immer, solange die VM gestartet ist, genutzt wird.

-Xmx2G steht für die maximale Zuweisung an Arbeitsspeicher. Die VM hatt zwar dadurch 2 Gigabyte Arbeitsspeicher, die sie auch nutzen kann, jedoch werden diese nicht fest zugewiesen und auch nicht immer genutzt. Sollte die VM jedoch mehr als 1 Gigabyte Arbeitsspeicher verwenden, bekommt sie eben (bis maximal 2 Gigabyte) mehr zugeschrieben. Probleme entstehen hier nur, wenn du mehr zuweist, als du Arbeitsspeicher zur Verfügung hast.

Hier eines meiner Start-Scripts, die ich für mich benutze. Das Script packst du in eine .sh Datei und steckst sie in den Server Ordner. Dann nur noch ausführbar machen und mit ./start.sh Ausführen & Starten.

Hier das Script:

screen -dmS <server_name> java -Xms2G -Xmx2G -jar purpur.jar nogui

Hallo GamingadlerHD,

der Wert für Xms gibt die Größe des RAM - Speichers an welcher zum Starten des Servers genutzt wird und bei Xmx gibst du an, wie viel der Server maximal nutzen darf.

Das musst du eben mit dem tatsächlich verfügbaren RAM abgleichen und entsprechend anpassen.

Ben

Woher ich das weiß:Berufserfahrung – IT-Systemadministrator
TheQ86  27.01.2023, 18:11
Das musst du eben mit dem tatsächlich verfügbaren RAM abgleichen

Wenn das System aber 8 GB RAM hat, dann würde ich hier trotzdem nicht 8G als Xmx setzen. Das System und alle laufenden Prozesse benötigen ja auch RAM. Wenn man den RAM etwas beschränkt, dann kann es zu keinen Out of Memory Exceptions mehr kommen.

0

Xms und Xmx regeln, wieviel RAM der Prozess für den Heap verwenden darf.

Der Heap ist der Bereich des RAMs, den ein Prozess/Programm verwendet, um seine Daten abzulegen. Es gibt auch noch einen Stack, der aber eher für den Programmablauf wichtige Daten enthält.

Xms legt fest, mit wieviel Speicher der Heap beginnt und Xmx, wie viel maximal verwendet werden darf.

Es kann bei Java-Prozessen nützlich sein, diese Werte je nach RAM Größe des Computers auf gewisse Werte zu stellen, sodass Java nie versucht mehr RAM zu verwenden, als da ist (oder erlaubt ist)

Woher ich das weiß:Berufserfahrung – Berufserfahrung

-Xms1g ist die minimale Menge an RAM, die du dem Server zuweisen willst in Gigabyte und -Xmx2G dementsprechend die maximale Menge.

Woher ich das weiß:eigene Erfahrung – Ich spiele Minecraft seit 2019.