Default settings for the OpenJ9 VM

The following tables provide a quick reference to the default settings for the VM when it is first installed.

The last 2 columns show whether the default setting can be changed by a command-line parameter or an environment variable. Note that if both are set, the command-line parameter always takes precedence.

VM setting Default Command line Env. variable
Javadump Enabled yes yes
Heapdump Disabled yes yes
System dump Enabled yes yes
Snap traces Enabled yes yes
JIT dump Enabled yes yes
Verbose output Disabled yes no
Compressed references (See Note 1) yes yes
Boot classpath search Disabled yes no
JNI checks Disabled yes no
Remote debugging Disabled yes no
Strict conformance checks Disabled yes no
Quickstart Disabled yes no
Remote debug info server Disabled yes no
Reduced signaling Disabled yes no
Signal handler chaining Enabled yes no
Classpath Not set yes yes
Class data sharing Disabled yes no
Accessibility support Enabled no yes
JIT compiler Enabled yes yes
AOT compiler (See Note 2) Enabled yes no
JIT debug options Disabled yes no
Java2D max size of fonts with algorithmic bold 14 point no yes
Java2D use rendered bitmaps in scalable fonts Enabled no yes
Java2D freetype font rasterizing Enabled no yes
Java2D use AWT fonts Disabled no yes

Notes:

  1. On AIX®, Linux®, macOS®, and Windows™: Enabled for -Xmx values ≤ 57 GB, otherwise disabled.

    On z/OS®: Enabled for -Xmx values ≤ 25 GB, otherwise disabled. With APAR OA49416, enabled for -Xmx values ≤ 57 GB.

  2. AOT is not used by the VM unless shared classes are also enabled.

VM setting AIX Linux macOS Windows z/OS Command line Env. variable
Default locale None None None N/A None no yes
Time to wait before starting plug-in N/A Zero N/A N/A N/A no yes
Temporary directory /tmp /tmp /tmp c:\temp /tmp no yes
Plug-in redirection None None None N/A None no yes
IM switching Disabled Disabled Disabled N/A Disabled no yes
IM modifiers Disabled Disabled Disabled N/A Disabled no yes
Thread model N/A N/A N/A N/A Native no yes
Initial stack size for Java Threads (32/64-bit). Use -Xiss<size> 2 KB 2 KB 2 KB 2 KB 2 KB yes no
Maximum stack size for Java Threads (32-bit). Use -Xss<size> 320 KB 320 KB N/A 320 KB 320 KB yes no
Maximum stack size for Java Threads (64-bit). Use -Xss<size> 1024 KB 1024 KB 1024 KB 1024 KB 1024 KB yes no
Stack size for OS Threads (32-bit). Use -Xmso<size> 256 KB 256 KB N/A 32 KB 256 KB yes no
Stack size for OS Threads (64-bit). Use -Xmso<size> 256 KB 256 KB 256 KB 256 KB 384 KB yes no
Initial heap size. Use -Xms<size> 8 MB 8 MB 8 MB 8 MB 8 MB yes no
Maximum Java heap size. Use -Xmx<size> See Notes See Notes See Notes See Notes See Notes yes no
Page size for the Java object heap and code cache (For restrictions, see the -Xlp:codecache and -Xlp:objectheap options). Operating system default Architecture: x86: 2MB, IBM Z®: 1MB, Other architectures: Operating system default 4 KB Operating system default 1M pageable yes no

Notes:

The default value of -Xmx depends on the version of Java.

  • Start of content that applies only to Java 8 (LTS) The value is half the available memory with a minimum of 16MB and a maximum of 512 MB. End of content that applies only to Java 8 (LTS)

  • Start of content that applies only to Java 11 and later The value is 25% of the available memory with a maximum of 25 GB. However, where there is 2 GB or less of physical memory, the value set is 50% of available memory with a minimum value of 16 MB and a maximum value of 512 MB. End of content that applies only to Java 11 and later

Available memory is defined as being the smallest of two values: The real or physical memory or the RLIMIT_AS value.