OutOfMemoryError: Java heap space

  • Post author:
  • Post category:Java

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