web-dev-qa-db-ger.com

Erhöhen der Heap-Größe auf Linux-Computern

Ich arbeite auf Ubuntu-Desktop-Computern und möchte die Heap-Größe für Java erhöhen. Der RAM beträgt 16 GB und die aktuelle maximale Größe des Heap-Speichers beträgt 3 GB

Ich habe diesen Beitrag überprüft Steigende Tomcat-Größe

Nicht viel über Ubuntu gefunden, also habe ich diesen Befehl ausprobiert:

Java -Xmx10000m -X2000m -XshowSettings:all

und das Ergebnis ist:

Min Heap Size: 1.95G
Max Heap Size: 9.77G

dann Sudo gedit /etc/Tomcat7/default

und änderte dieses Lino in:

Java_OPTS="-Djava.awt.headless=true -Xmx10000m -XX:MaxPermSize=2000m" 

dann habe ich die Maschine neu gestartet und die maximale Größe überprüft:

Java -XshowSettings:all

und das zeigt:

Max Heap Size (Estimated): 3.80GB

Ich wollte das hohe RAM nutzen, das ich bekam (16 GB). Kann ich noch etwas tun?

7
Shadin

Das Ändern der Tomcat-Konfiguration wirkt sich nicht auf alle JVM-Instanzen aus, um diese Einstellungen abzurufen. Dies ist nicht die Funktionsweise. Die Einstellung wird nur zum Starten von JVMs verwendet, die von Tomcat verwendet werden, und nicht in der Shell.

Suchen Sie nach here , um die Heapgröße dauerhaft zu ändern.

6

Sie können das folgende Code-Snippet verwenden:

Java -XX:+PrintFlagsFinal -Xms512m -Xmx1024m -Xss512k -XX:PermSize=64m -XX:MaxPermSize=128m
    -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

In meinem PC erhalte ich folgende Ausgabe: 

    uintx InitialHeapSize                          := 536870912       {product}
    uintx MaxHeapSize                              := 1073741824      {product}
    uintx PermSize                                 := 67108864        {pd product}
    uintx MaxPermSize                              := 134217728       {pd product}
     intx ThreadStackSize                          := 512             {pd product}
2
Icche Guri