-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Description
Issue or pull request number:
depends on eclipse-openj9/openj9#12043
Overview:
Since the changes for -Xmint/-Xmaxt and -Xminf/-Xmaxf are semantically very similar, I have decided to include all notes/requested changes in this single issue. All of these changes only apply for the Balanced GC policy.
Changes for both sets of options
- If the
-Xmint/-Xmaxtand/or-Xminf/-Xmaxfcriteria are not being met and this results in a heap resize, then the heap resize that occurs only happens on non-eden heap (similar to how these options apply to tenure for gencon) - Heap (again, non-eden heap here) resizing occurs at the end of a GMP cycle, or global collection (rather than simply global collection as stated in the docs). At this point heap resizing decision is made by observing both
-Xmint/-Xmaxtand-Xminf/-Xmaxfcompared to the appropriate proportion of time spent in GC, and free heap respectively. - If either
-Xmint/-Xmaxtand/or-Xminf/-Xmaxfcriteria are not being met, there is no guarantee that a heap resize occurs. The heap sizing logic is (in essence) looking at 2 things:
1. if % of time in GC pauses is between-Xmint/-Xmaxt. If it's too high, expand, if it's too low, contract
2. if % of free heap is between-Xminf/-Xmaxf. If it's too high(too much free), contract, if too low, expand.
Since these 2 criteria may be providing completely opposite recommendations (ex, lots of free memory, but high % of time in GC) causing oscillations in heap size, the balanced GC heap sizing logic is finding a balance between these 2 criteria
Changes specific to -Xmint/-Xmaxt
-
-Xmintand-Xmaxtdefaults for balanced GC are now2%and5%respectively. For this option, the values (-Xmint/-Xmaxt) are compared with % of time that GMP and global GC are active, and DOES NOT include PGC pauses (local GC operations, which are collecting eden regions of the heap).
Changes specific to Xminf/-Xmaxf
- these values only apply to non-eden portion of the heap (very similar to gencon's tenure). Free memory in eden space is not considered for
Xminf/-Xmaxfpurposes.
Release target:
Eclipse OpenJ9 0.30.0
Applies to the following JDK versions:
all
Applies to the following platforms:
all
For new command line options:
existing -Xmint/-Xmaxt and -Xminf/-Xmaxf options
Metadata
Metadata
Assignees
Labels
No labels