Domyślnie java ustawia maksymalny rozmiar stosu na 1/4 dostępnej pamięci RAM.
Aby sprawdzić wartości domyślane dotyczące stosu:
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
Wyjście:
intx CompilerThreadStackSize = 0 {pd product} uintx ErgoHeapSizeLimit = 0 {product} uintx HeapSizePerGCThread = 67108864 {product} uintx InitialHeapSize := 67108864 {product} uintx LargePageHeapSizeThreshold = 134217728 {product} uintx MaxHeapSize := 1073741824 {product} intx ThreadStackSize = 320 {pd product} intx VMThreadStackSize = 512 {pd product}
powyższe polecenie zdziała dla Linuxa, dla Windows:
java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
Aby zwiększyć rozmiar dodaj parametry uruchomieniowe dla aplikacji:
-Xms512m -Xmx2048m