RFR: 8324334: Shenandoah: Improve end of process report

William Kemper wkemper at openjdk.org
Tue Jan 23 22:39:25 UTC 2024


On Mon, 22 Jan 2024 20:42:45 GMT, William Kemper <wkemper at openjdk.org> wrote:

> 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%)
> 
> 
> In addition to GHA testing, these changes have been tested on Dacapo, Extremem, SpecJBB2015, SpecJVM2008, Heapothesys and Diluvian.

The copyright update anticipates the changes to this file on the generational mode branch. I will revert it here. I will also add comments to the methods of the collector policy.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17521#issuecomment-1907037186


More information about the hotspot-gc-dev mailing list