Minecraft Server mehr RAM zuweisen?
Hallo,
ich teste aktuell auf meinem PC so ein wenig mit einem MC Server herum. Ich möchte diesem gerne mehr RAM zuweisen was mir jedoch nicht gelingt.
Ich habe mir eine start.bat erstellt und in dieser steht folgendes:
java -Xms512M -Xmx4096M -jar spigot-1.16.5.jar -o true
@pause
Genau so hatte ich es mir in einem Tutorial abgeschaut. Wenn ich nun von den normalen 1024M auf z.B. 4GB oder 8GB hochgehe bekomme ich beim starten des servers immer diese Fehlermeldung:
D:\Desktop\Minecraft\- eigener server 2->java -Xms512M -Xmx4096M -jar spigot-1.16.5.jar -o true
Invalid maximum heap size: -Xmx4096M
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Drücken Sie eine beliebige Taste . . .
Kann mir da jemand weiterhelfen und mir sagen was ich da falsch mache?
Danke im vorraus ^^
4 Antworten
The specified size exceeds the maximum representable size.
Google Translate benutzen =
Die angegebene Größe überschreitet die maximal darstellbare Größe.
Du hast wahrscheinlich Java 32bit installiert.
Mach mal in der Console
java -version
Bei mir kommt das
C:\Users\chahn>java -version
java version "11.0.8" 2020-07-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.8+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode)
Oh... ich dachte das würde automatisch gehen wenn ich mir Java unter einem 64bit System herunterlade. :/
Ne, es gibt ein Java32bit und Java64bit.
Sobald du Java 64 bit installiert hast, sollte es ohne Probleme funktionieren.
Du hast vermutlich ein 32bit Java installiert. Da ist die maximal verwendbare Größe an RAM 4G oder deine 4096M (weil Limitierung von 32bit-Programmen), jedoch braucht die JVM auch noch Platz ... deine 4G passen also nicht rein.
https://www.oracle.com/java/technologies/hotspotfaq.html#gc_heap_32bit
The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G. On 32-bit Solaris kernels the address space is limited to 2G. On 64-bit operating systems running the 32-bit VM, the max heap size can be higher, approaching 4G on many Solaris systems.
As of Java SE 6, the Windows /3GB boot.ini feature is not supported.
If your application requires a very large heap you should use a 64-bit VM on a version of the operating system that supports 64-bit applications. See Java SE Supported System Configurations for details.
Du hast jetzt zwei Möglichkeiten:
- Nutze ein 64bit Java
- Reduziere den maximal nutzbaren RAM in deinen Parametern
Wofür steht das -o und true bei den Parametern in det bat?
¯\_(ツ)_/¯ sagt mir nichts. Wird dir der Fragesteller schreiben müssen, woher er es hat. Stell es doch als Nachfrage zu seiner Frage
Er sollte ja auch ne benachrichtigen bekommen wenn ich unter deinem Kommentar schreibe. Ich kenne nur -nogui, dass man nur die cmd hat und nicht die Java Console
Er sollte ja auch ne benachrichtigen bekommen wenn ich unter deinem Kommentar schreibe.
Nope. Solange er selbst hier nicht kommentiert oder der Antwort folgt, bekommt er dafür keine Benachrichtigung ...
Der Arbeitsspecher ist auf den von deinem PC begrentzt, wie viel Arbeitsspeicher hast du?
Was heißt -o und true in den Parametern?
Habe ich noch nie gehört
Das kommt da bei mir raus:
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) Client VM (build 25.291-b10, mixed mode)