[External] : Re: Those memory footprint improvements in JDK 18
charlie hunt
charlie.hunt at oracle.com
Fri May 6 21:45:19 UTC 2022
Yes, GC's internal data structures.
How much reduction there will likely vary depending on the application
(and G1 region size). The type of application that will experience
larger reductions are those applications that have a large number of
cross G1 region references. A cache like type of application usually has
a large number of these since updates to the cache introduce new
references to an older or longer lived object which is likely held in a
different G1 region.
On 5/6/22 4:36 PM, Stefan Reich wrote:
> Ah, so the memory sections that are now smaller are basically the GC's
> internal data structures, rather than the general heap?
>
> That kind of puts things in perspective. Still a great improvement.
> Has it been tested by how much the overall memory footprint of the JVM
> decreases in larger benchmarks?
>
> On Fri, 6 May 2022 at 23:28, charlie hunt <charlie.hunt at oracle.com> wrote:
>
> Hi Stefan,
>
> The graph Thomas shows in his blog is the GC part of the NMT
> output which does not include metadata.
>
> The GC part of NMT output includes native memory allocated on
> behalf of the GC itself such as a card table or remembered set ..
> those things that GC needs to do its work. The native memory
> allocated for the Java heap are in the "Java Heap" section of the
> NMT output. Class metadata is in the "Class" section of the NMT
> output.
>
> There is a "Native Memory Tracking Memory Categories" table that
> lists the sections / categories reported by NMT and a description
> of each at:
> https://docs.oracle.com/en/java/javase/17/troubleshoot/diagnostic-tools.html#GUID-5EF7BB07-C903-4EBD-A9C2-EC0E44048D37
>
> hths,
>
> Charlie
>
> On 5/6/22 2:13 PM, Stefan Reich wrote:
>> I'm right now just trying to get over how amazing this graph is:
>> https://tschatzl.github.io/2022/03/14/jdk18-g1-parallel-gc-changes.html
>> <https://urldefense.com/v3/__https://tschatzl.github.io/2022/03/14/jdk18-g1-parallel-gc-changes.html__;!!ACWV5N9M2RV99hQ!OKRokskrYA5lROK6mWSdvn5puKnqs34LsTUVTkWX2Rp65OYC5CRMO5pthP_bsdg-msr3P2Q6ag1T55XNqMseOt88jWtWJhKP$>
>>
>>
>> 35-40% savings in memory use just by using JDK 18??? Who would
>> have expected such a major improvement after 17 iterations of the
>> language!
>>
>> Just so I'm sure I'm reading it correctly... the graph basically
>> shows the Java heap's memory footprint in terms of committed
>> native memory. Right?
>>
>> So it would include Eden, tenured generations, humongous objects,
>> but not metadata and code. Is that correct?
>>
>> Basically tell me how much I should celebrate this. lol
>>
>> I did switch another small, pretty crammed (8 GB RAM) server over
>> to JDK 18 and it does feel like there's a lot more memory
>> available on it now and everything is a lot faster too.
>>
>> Cheers
>> Stefan
>>
>> --
>> == Gaz.AI
>> <https://urldefense.com/v3/__http://Gaz.AI__;!!ACWV5N9M2RV99hQ!OKRokskrYA5lROK6mWSdvn5puKnqs34LsTUVTkWX2Rp65OYC5CRMO5pthP_bsdg-msr3P2Q6ag1T55XNqMseOt88jWC6VYLi$>
>> ==
>>
>> _______________________________________________
>> hotspot-gc-use mailing list
>> hotspot-gc-use at openjdk.java.net
>> https://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>
>
>
> --
> == Gaz.AI
> <https://urldefense.com/v3/__http://Gaz.AI__;!!ACWV5N9M2RV99hQ!OKRokskrYA5lROK6mWSdvn5puKnqs34LsTUVTkWX2Rp65OYC5CRMO5pthP_bsdg-msr3P2Q6ag1T55XNqMseOt88jWC6VYLi$>
> ==
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20220506/d2a78b3d/attachment-0001.htm>
More information about the hotspot-gc-use
mailing list