-
Type:
Sub-task
-
Resolution: Delivered
-
Priority:
P4
-
Affects Version/s: 26
-
Component/s: hotspot
If users do not specify the initial Java heap size using `-Xms` or `-XX:InitialHeapSize`, the Java Virtual Machine's (JVM) memory management decides the initial Java heap size using the `InitialRAMPercentage` setting. The default has been 1/64 of the system's physical RAM. This behavior results in large initial Java heap sizes on modern systems with a substantial amount of memory, increasing JVM startup times due to necessary initialization of Java heap-related internal data structures.
This change removes the default value of `InitialRAMPercentage`. Now, if the user does not specify an initial Java heap size, the JVM sets the initial heap size to the minimum possible heap size, which equals to `MinHeapSize`. This improves startup performance for default JVM configurations by reducing internal memory initialization.
To get the previous behavior, users can explicitly set `InitialRAMPercentage` to the original value of `1.5625`, or configure the initial Java heap size directly using the `-Xms` or `-XX:InitialHeapSize` options.
This change removes the default value of `InitialRAMPercentage`. Now, if the user does not specify an initial Java heap size, the JVM sets the initial heap size to the minimum possible heap size, which equals to `MinHeapSize`. This improves startup performance for default JVM configurations by reducing internal memory initialization.
To get the previous behavior, users can explicitly set `InitialRAMPercentage` to the original value of `1.5625`, or configure the initial Java heap size directly using the `-Xms` or `-XX:InitialHeapSize` options.