G1: Lightweight remembered set logging
Tianqi Xia
txiadev at gmail.com
Fri Apr 22 13:12:19 UTC 2022
Hi,
Thanks for pointing out recent changes in this area, I will dig into these
patches, but sadly I have to stick with JDK11 for a while.
After poking around, surprisingly I found JDK-8265119 does an amazing job
in reducing the memory usage of remembered set. After applying the commit,
update_remset_before_rebuild will correctly select qualified regions for
rebuilding remembered sets. Running BigRamTester with 10gb heap, the number
of regions being selected is like 2000 (without JDK-8265119) vs 100 (with
JDK-8265119).
(JDK-8265119:
https://github.com/openjdk/jdk/commit/fc89fe6458ba2f7cc1697bbcaf92b036fe3533b5
)
JDK-8233919 definitely addresses point #2 I mentioned in the original
email. For point #1, the time it takes to calculate the size of
PerRegionTable's freelist is still proportional to its length, but as long
as the overall size is under control, this should not be a big problem.
Thanks again for keeping making G1 better.
Tianqi
On Fri, Apr 22, 2022 at 4:30 PM Thomas Schatzl <thomas.schatzl at oracle.com>
wrote:
> Hi,
>
> On 22.04.22 09:47, Albert Yang wrote:
> > 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.
> >
> > /Albert
>
> here's a graph showing memory footprint changes for bigramtester with
> 20gb heap from JDK 8 to 18 from a recent presentation:
>
>
> http://cr.openjdk.java.net/~tschatzl/memory-usage-bigramtester-jdk-8-to-18-20g.png
>
> At least the first change has some blog post detailing the change at
> https://tschatzl.github.io/2021/02/26/early-prune.html ; other posts on
> that site, particularly the "JDK xx changes" ones, typically also give
> some information about changes in this area.
>
> So yes, there were some significant changes in this area lately, so if
> possible we recommend to stay up to date.
>
> Thanks,
> Thomas
>
More information about the hotspot-gc-dev
mailing list