G1: Lightweight remembered set logging
Tianqi Xia
txiadev at gmail.com
Thu Apr 28 13:41:30 UTC 2022
Hi,
I tried the master branch, and was very glad to find both the rset memory
footprint and the cost of logging significantly decreased.
Later I came across this issue:
https://bugs.openjdk.java.net/browse/JDK-8224839 in the bug database, it is
a little bit outdated, but it still seems to hold its value to have a
brief, maybe one-line summary of rset info on every GC cycle.
I tried to implement it myself:
https://github.com/tqxia/jdk/commit/85a0e227b15973685af36722df654c43232e709f
And here is a sample output:
[1.783s][info][gc,remset ] GC(0) Before GC RS summary: Total per region
rem sets sizes = 608384 Max = 8784 wasted = 0
...
[1.991s][info][gc,remset ] GC(0) After GC RS summary: Total per region
rem sets sizes = 607368 Max = 8112 wasted = 0
May I have some suggestions on this?
Thanks & Regards,
Tianqi
On Tue, Apr 26, 2022 at 6:53 PM Thomas Schatzl <thomas.schatzl at oracle.com>
wrote:
> Hi,
>
> On 25.04.22 11:04, Clemens Eisserer wrote:
> > Hi Thomas,
> >
> >> There have been two major changes in G1 remset recently:
> >>>
> >>> https://bugs.openjdk.java.net/browse/JDK-8262185
> >>> https://bugs.openjdk.java.net/browse/JDK-8017163
> >>>
> >>> It can be interesting to try the latest release (JDK18) first.
> >>
> >
> > I read your blog post when it was published and was glad to hear G1 still
> > has so much potential for improvements.
> > Do you think there is any chance to get it back-ported to JDK-17 once it
> > has proven to be solid, otherwise it will take years to be useful for
> > production...
>
> I'm not aware of any efforts of backporting the remembered set
> refactoring (JDK-8017163) to JDK 17 within Oracle at this point. You
> will need to ask the current maintainers
> (https://wiki.openjdk.java.net/display/JDKUpdates/JDK+17u) and find
> somebody to actually do this backport.
>
> While apparently very stable (the changes just missed the JDK 17 release
> window; iirc we have not needed to do anything significant but minor
> cleanups for it until now), it is a very big change that risks stability.
>
> The next LTS release is scheduled to be JDK 21
> (https://www.oracle.com/java/technologies/java-se-support-roadmap.html)
> next year.
>
> Thanks,
> Thomas
>
More information about the hotspot-gc-dev
mailing list