Vermeiden eines anfänglichen Speicherheapgrößenfehlers

den Code ausführen?

Fehlermeldung:

Invalid initial heap size: -Xms5G
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine

Gibt es eine Möglichkeit, Java-Option einzurichten, so dass wir

Ich führe einen Java-Code mit dem folgenden Befehl:

$ java -Xms4G -Xmx4G myjavacode

Die RAM-Kapazität meiner CPU beträgt 6 GB.

Allerdings kann es immer nicht ausgeführt werden, mir dies

Antwort auf "Vermeiden eines anfänglichen Speicherheapgrößenfehlers " 3 von antworten

Sie haben die maximale Heapgröße Ihrer JVM überschritten. Dies ist sowohl JVM als auch OS abhängig. In den meisten 32-Bit-Systemen beträgt der maximale Wert 2 GB, unabhängig vom verfügbaren physischen Speicher.

Eigentlich kann die maximale Speichergröße auf 32-Bit-Systemen variieren, da sie bis zu 4 GB beträgt, aber 2 GB sind ein gemeinsamer Wert. Es ist oft möglich, Ihren Kernel neu zu verknüpfen, um dies auf 3 oder 3,5 GB zu erhöhen. Das Problem ist natürlich, dass Sie einfach nicht über den Adressraum verfügen, um mehr Speicher zuzuordnen. Haben Sie eine 64-Bit-Maschine ausprobiert?

Denken Sie auch daran, Ihren Ulimit höher zu setzen, bevor Sie dies tun.

Standardmäßig wird Java im 32-Bit-Modus ausgeführt. Achten Sie darauf, ihm die Option -d64 zu geben, um es in den 64-Bit-Modus zu versetzen. Einmal im 64-Bit-Modus, sollten Sie keine Probleme beim Zuweisen einer 6GB JVM haben.