Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8226058 | 14 | Stefan Karlsson | P4 | Resolved | Fixed | team |
Currently the -Xms flag is documented to set the initial heap size, but it also sets the minimum heap size. The initial heap size can be overridden with the -XX:InitialHeapSize flag, but there is no such flag for the minimum heap size.
To set the minimum heap size to a value different than the initial heap size the user must specify -Xms before -XX:InitialHeapSize.
For example:
-Xms4g -XX:InitialHeapSize=8g sets the minimum size to commit for the heap to 4g and the initially committed heap size to 8g.
On the other hand, the following command line:
-XX:InitialHeapSize=8g -Xms4g sets both the minimum and initial heap size to 4g.
This RFE proposes that we introduce a -XX:MinHeapSize flag to make it easier to independently set the minimum heap size and initial heap size.
The user will get the expected behavior from either of the following command lines:
-XX:MinHeapSize=4g -XX:InitialHeapSize=8g
-XX:InitialHeapSize=8g -XX:MinHeapSize=4g
The -Xms flag will keep it's old behavior and set both minimum and initial heap size, but when setting the minimum heap size it will change the MinHeapSize flag and not a JVM internal global variable. -Xms will behave as if both -XX:MinHeapSize and -XX:InitialHeapSize were set on the command line.
The VM will enforce the relationship:
MinHeapSize <= InitialHeapSize <= MaxHeapSize
To set the minimum heap size to a value different than the initial heap size the user must specify -Xms before -XX:InitialHeapSize.
For example:
-Xms4g -XX:InitialHeapSize=8g sets the minimum size to commit for the heap to 4g and the initially committed heap size to 8g.
On the other hand, the following command line:
-XX:InitialHeapSize=8g -Xms4g sets both the minimum and initial heap size to 4g.
This RFE proposes that we introduce a -XX:MinHeapSize flag to make it easier to independently set the minimum heap size and initial heap size.
The user will get the expected behavior from either of the following command lines:
-XX:MinHeapSize=4g -XX:InitialHeapSize=8g
-XX:InitialHeapSize=8g -XX:MinHeapSize=4g
The -Xms flag will keep it's old behavior and set both minimum and initial heap size, but when setting the minimum heap size it will change the MinHeapSize flag and not a JVM internal global variable. -Xms will behave as if both -XX:MinHeapSize and -XX:InitialHeapSize were set on the command line.
The VM will enforce the relationship:
MinHeapSize <= InitialHeapSize <= MaxHeapSize
- backport of
-
JDK-8226302 Test failures on IBM platforms (power and s/390) after JDK-8223837
- Resolved
- backported by
-
JDK-8226058 Add -XX:MinHeapSize flag to set the minimum heap size
- Resolved
- csr for
-
JDK-8223852 Add -XX:MinHeapSize flag to set the minimum heap size
- Closed
- relates to
-
JDK-8226302 Test failures on IBM platforms (power and s/390) after JDK-8223837
- Resolved
-
JDK-8228359 [TESTBUG] jdk.jfr.e.g.c.TestGCHeapConfigurationEventWith32BitOops.java does not expect MinHeapSize to be aligned to HeapAlignment
- Resolved