Friday, August 28, 2015

Java Heap Memory Size

Java Memory:
1. Java Heap Size
    Place to store objects created by your Java application, this is where Garbage Collection takes place, the memory used by your Java application.
    For a heavy Java process, insufficient Heap size will cause the popular java.lang.OutOfMemoryError: Java heap space.
    -Xms<size> - Set initial Java heap size
    -Xmx<size> - Set maximum Java heap size
    $ java -Xms512m -Xmx1024m JavaApp

2. Perm Gen Size
    Place to store your loaded class definition and metadata.
    If a large code-base project is loaded, the insufficient Perm Gen size will cause the popular Java.Lang.OutOfMemoryError: PermGen.
    -XX:PermSize<size> - Set initial PermGen Size.
    -XX:MaxPermSize<size> - Set the maximum PermGen Size.
    $ java -XX:PermSize=64m -XX:MaxPermSize=128m JavaApp

3. Java Stack Size
    Size of a Java thread. If a project has a lot of threads processing, try reduce this stack size to avoid running out of memory.
    -Xss = set java thread stack size

Command to find out heap size
    $ java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

No comments:

Post a Comment