RFR: 8324334: Shenandoah: Improve end of process report
William Kemper
wkemper at openjdk.org
Mon Jan 22 20:48:47 UTC 2024
Shenandoah emits a summary of collector statistics when the JVM process exits normally. These statistics do not include the number of cycles which did not require evacuation (we call these abbreviated or short-cut cycles).
The end-of-process report should include these shortcut cycles and also show the outcomes of various cycles as a percentage of the total number of cycles. This change also removes some unused variables/methods and has the heuristic lean on the collector policy for tracking consecutive degenerated cycles (rather than having both the heuristic and the collector policy tracking this).
Here is an example of the improved report:
20 Completed GCs
5 Successful Concurrent GCs (25.00%)
2 invoked explicitly (40.00%)
0 invoked implicitly (0.00%)
1 abbreviated (20.00%)
13 Degenerated GCs (65.00%)
3 upgraded to Full GC (23.08%)
13 caused by allocation failure (100.00%)
0 abbreviated (0.00%)
10 happened at Mark
3 happened at Update References
5 Full GCs (25.00%)
0 invoked explicitly (0.00%)
0 invoked implicitly (0.00%)
2 caused by allocation failure (40.00%)
3 upgraded from Degenerated GC (60.00%)
-------------
Commit messages:
- Remove unused code, simplify consecutive degen tracking
- Update policy and heuristics for full collections
- Prepare end of process report improvements for upstream
Changes: https://git.openjdk.org/jdk/pull/17521/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17521&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8324334
Stats: 129 lines in 11 files changed: 55 ins; 49 del; 25 mod
Patch: https://git.openjdk.org/jdk/pull/17521.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17521/head:pull/17521
PR: https://git.openjdk.org/jdk/pull/17521
More information about the hotspot-gc-dev
mailing list