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?
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.
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}