-
CSR
-
Resolution: Approved
-
P4
-
behavioral
-
minimal
-
Searching for the affected flag doesn't return any blog posts/tutorials covering or suggesting its use.
-
add/remove/modify command line option
-
JDK
Summary
Obsolete the VM product option HeapMaximumCompactionInterval
due to removal of corresponding functionality.
Problem
This flag controls the interval of full collections in which the collector should do a maximum compaction. In a maximum compaction, the collector tries to pack live objects as densely as possible, while normally full collection might leave some garbage in areas that are almost completely densely compacted. Leaving some garbage on the heap reduces full collection time at the cost of some memory.
Figuring out the right value for this flag is often challenging, because it requires deep insight into the application allocation behavior and live set. Additionally, the optimal value can be dynamic, i.e. application phase dependent. In contrast to that, the garbage collector can use internal metrics to decide whether a full collection should do a maximum compaction.
Supporting this flag incurs some implementation complexity and it offers little benefit in real applications.
This flag is only used by Parallel GC.
Solution
Remove the functionality and obsolete the VM product option HeapMaximumCompactionInterval
, without any deprecation period.
Specification
Removing the following flag:
product(uintx, HeapMaximumCompactionInterval, 20, \
"How often should we maximally compact the heap (not allowing " \
"any dead space)") \
range(0, max_uintx) \
\
- csr of
-
JDK-8366881 Parallel: Obsolete HeapMaximumCompactionInterval
-
- Open
-