Skip to content

Commit

Permalink
Modified -Xmint/-Xmaxt and -Xminf/-Xmaxf for balanced GC
Browse files Browse the repository at this point in the history
eclipse-openj9#835

-Xmint/-Xmaxt, -Xminf/-Xmaxf, and -Xgcpolicy topics modified to reflect the changes applicable for the balanced GC policy.

Signed-off-by: Sreekala Gopakumar [email protected]
  • Loading branch information
Sreekala-Gopakumar committed Jun 28, 2022
1 parent 275cb8d commit a4b47d4
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 9 deletions.
6 changes: 5 additions & 1 deletion docs/xgcpolicy.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ The behavior of the following options is different when specified with `-Xgcpoli
[`-Xcompactexplicitgc`](xcompactexplicitgc.md) (default)
: Forces compaction in explicit Global GC cycles, such as those invoked by `System.gc()`. Compaction in implicit Global GC remains optional, triggered by internal heuristics.

[`-Xgc:targetPausetime`](xgc.md#targetpausetime)
: Uses the specified GC pause time as a soft GC pause time target.

[`-Xnocompactexplicitgc`](xcompactexplicitgc.md)
: Disables compaction in explicit Global GC cycles. Compaction in implicit Global GC remains optional, triggered by internal heuristics.

Expand Down Expand Up @@ -162,10 +165,11 @@ The following options are specific to the `metronome` GC policy:
- [`-Xgc:nosynchronousGCOnOOM`](xgc.md#nosynchronousgconoom)
- [`-Xgc:overrideHiresTimerCheck`](xgc.md#overridehirestimercheck)
- [`-Xgc:synchronousGCOnOOM`](xgc.md#synchronousgconoom)
- [`-Xgc:targetPausetime`](xgc.md#targetpausetime)
- [`-Xgc:targetUtilization`](xgc.md#targetutilization)
- [`-Xgc:verbosegcCycleTime`](xgc.md#verbosegccycletime)

[`-Xgc:targetPausetime`](xgc.md#targetpausetime) option also applies to the `metronome` GC policy. This option applies only to the `metronome` and `balanced` GC policies.

### `nogc`

-Xgcpolicy:nogc
Expand Down
6 changes: 4 additions & 2 deletions docs/xminf.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,16 @@ If the free space is above or below these limits, the OpenJ9 VM attempts to adju

The value range is 0.0 - 1.0.

- For the `balanced` GC policy, these values apply only to the non-eden space part of the heap. Free memory in eden space is not considered for `-Xminf`/`-Xmaxf` purposes.
- For the `gencon` GC policy, the values apply only to the tenure part of the heap and only at global GC points.
- For the `optthruput` and `optavgpause` GC policies, these values apply to the whole heap at every GC point.

This option cannot be used with the metronome GC policy (`-Xgcpolicy:metronome`) because the heap is always fully expanded.
- This option cannot be used with the metronome GC policy (`-Xgcpolicy:metronome`) because the heap is always fully expanded.

## See also

- [Heap expansion and contraction](allocation.md#expansion-and-contraction)
- [Garbage collection policies](gc.md)



<!-- ==== END OF TOPIC ==== xminf.md ==== -->
Expand Down
17 changes: 11 additions & 6 deletions docs/xmint.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
# -Xmint / -Xmaxt


Sets the minimum and maximum proportion of time to spend in the garbage collection (GC) process as a percentage of the overall running time that included the last three GC runs.
Sets the minimum and maximum proportion of time to spend in the garbage collection (GC) process as a percentage of the overall running time that included the last three GC runs. The time spent in the GC process therefore includes time spent in global mark phase and global GC operations but excludes partial garbage collection pauses because the latter apply only to the eden space.

- If the percentage of time drops to less than the minimum, the OpenJ9 VM tries to shrink the heap.
- If the percentage of time exceeds the maximum, the VM tries to expand the heap.
Expand All @@ -37,16 +37,21 @@ Sets the minimum and maximum proportion of time to spend in the garbage collecti

## Syntax

| Setting | Effect | Default |
|----------------|------------------------|---------|
|`-Xmint<value>` | Set minimum time in GC | 0.05 |
|`-Xmaxt<value>` | Set maximum time in GC | 0.13 |
| Setting | Effect | Default for balanced policy|Default for other policies|
|----------------|------------------------|:---------:|:-------------------------------:|
|`-Xmint<value>` | Set minimum time in GC | 0.02 |0.05 |
|`-Xmaxt<value>` | Set maximum time in GC | 0.05 |0.13 |

- For the `balanced` GC policy, the values apply only to the non-eden space part of the heap.
- For the `gencon` GC policy, the values apply only to the tenure part of the heap.
- For the `optthruput`, and `optavgpause` GC policies, these values apply to the whole heap.
- This option cannot be used with the `metronome` GC policy (`-Xgcpolicy:metronome`) because the heap is always fully expanded.

For the `gencon` GC policy, the values apply only to the tenure part of the heap. For the `balanced`, `optthruput`, and `optavgpause` GC policies, these values apply to the whole heap. This option cannot be used with the metronome GC policy (`-Xgcpolicy:metronome`) because the heap is always fully expanded.

## See also

- [Heap expansion and contraction](allocation.md#expansion-and-contraction)
- [Garbage collection policies](gc.md)

<!-- ==== END OF TOPIC ==== xmint.md ==== -->
<!-- ==== END OF TOPIC ==== xmaxt.md ==== -->

0 comments on commit a4b47d4

Please sign in to comment.