Wie ändere ich Java-Laufzeitparameter?

16

Unter Windows könnte ich durch Eingabe von -Xincgc -Xmx2048M in den Java-Laufzeitparametern ändern, wie viel RAM Java verwenden könnte. Wie kann ich das in Ubuntu machen?

Andri
quelle

Antworten:

6

Wenn ich mich nicht irre, sind sie unter Linux gleich. Mit dem Java- Befehl haben Sie zwei Möglichkeiten:

  • Xmx legt die maximale Größe des Speicher-Heapspeichers fest.
  • Xms legt die minimale Größe des Speicher-Heapspeichers fest.

Also -Xmx1024m -Xms128msollte es funktionieren.

Hier ist ein Auszug aus dem Vorgang man javaim Terminal

-Xmsn
                Specify the initial size, in bytes, of the memory allocation
                pool. This value must be a multiple of 1024 greater than 1MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xms6291456
                       -Xms6144k
                       -Xms6m

 -Xmxn
                Specify the maximum size, in bytes, of the memory allocation
                pool. This value must a multiple of 1024 greater than 2MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xmx83886080
                       -Xmx81920k
                       -Xmx80m

Das fasst also im Grunde genommen Zweifel mit denselben Parametern zusammen.

Um dies zu verwenden, gehen Sie zu einem Terminal und geben Sie es mit einem Jar-Programm ein. In meinem Beispiel verwende ich den Minecraft - Server: java -Xms1024M -Xmx2048M -jar minecraft.jar.

Hier ist ein Bild von dem, was passiert:

Bildbeschreibung hier eingeben

Ich sollte beachten, dass die Parameter case sensitive sind . Xmx1024M ist also nicht dasselbe wie Xmx1024M.

Luis Alvarado
quelle
Nun, ich habe nicht gefragt, welche Parameter ich verwenden soll. Ich fragte, wo ich die Parameter eingeben sollte. Wenn ich -Xmx1204m -Xms128m eingebe, wird ein unbekannter Befehl angezeigt.
Andri
Aus Ihrer Frage ging hervor, dass Sie bereits wussten, wo Sie sie eingeben müssen, da Sie sie bereits verwendet haben. Es tut uns leid. Ich habe die Antwort aktualisiert, um ein Bild der Ausgabe des Befehls und die vollständige Befehlszeile für Java und Parameter aufzunehmen. Dies wird alles vom Terminal eingegeben.
Luis Alvarado
10

Gleiches gilt für Linux. Wenn Sie die Optionen permanent machen möchten, können Sie die JAVA_OPTSUmgebungsvariable exportieren .

Ich empfehle es auf Benutzerbasis zu machen. Ändern Sie die .profileDatei in Ihrem Ausgangsverzeichnis (oder .bash_profilewenn sie vorhanden ist und Sie bash verwenden), um diese Zeile einzuschließen:

export JAVA_OPTS='-Xincgc -Xmx2048M'

Nachdem Sie dies festgelegt haben, müssen Sie die Shell-Sitzungen neu starten, damit sie angewendet werden.

Alternativ können Sie auch das systemweite Profil in / etc / profile ändern.

Bearbeiten: Die Einstellungen für das Java-Browser-Plugin werden in der Java-Systemsteuerung festgelegt: http://docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/control_panel.html .

jjmontes
quelle
Wie gilt das auch für Linux? Ich kann die Systemsteuerung nicht aufrufen, Java nicht öffnen und die Einstellungen nicht ändern. Was mache ich?
Andri
1
Wenn ich mich nicht irre, gilt dieses Kontrollfeld nur für das Java-Plugin für den Browser. Wenn Sie danach suchen, finden Sie es unter / jre / bin / ControlPanel ( docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/… )
jjmontes
Das ist nicht das, was ich meinte. Alles, was ich wissen muss, ist, wie ich Java in die Lage versetzen kann, mehr RAM als jetzt zu verwenden.
Andri