On Thu, 22 May 2025 19:49:17 GMT, Joel Sikström <jsiks...@openjdk.org> wrote:
>> Hello, >> >> The goal of this RFE is to separate Metaspace printing from GC printing. The >> main reason Metaspace and GC printing is coupled the way it is right now is >> because historically, the permanent generation (PermGen), which was replaced >> by Metaspace, was part of the GC heap. Hence, it made sense to also print >> info about the PermGen when printing the GC heap. >> >> With Metaspace replacing the PermGen, which uses memory that is separate >> from the GC heap, the coupling has become more loose, raising the question >> if Metaspace should be printed somewhere else (maybe when printing *other* >> Metaspace stuff?). A reason to still print Metaspace when printing the heap >> is that the GC is responsible for unloading classes and nmethods, which >> means it makes sense to print Metaspace information in connection to when a >> GC is performed. >> >> To better reflect the current state of the JVM, I propse we make the >> following changes to separate Metaspace from GC printing: >> * Move Metaspace printing from HeapInfoDCmd to MetaspaceDCmd. >> * Move Metaspace printing from the "Heap:" section to "Metaspace:" section >> in vmError.cpp (hs_err files, the VM.info jcmd and -XX:+PrintVMInfoAtExit). >> * Use gc+exit instead of gc+heap+exit as tags for the LogTarget during exit >> printing to reflect that it's not only the heap being printed. >> * And the largest change in terms of LOC, separate Metaspace and GC Heap >> prints in the before/after GC invocation(s) printing. This is also recorded >> in a ring buffer, which is printed in vmError.cpp. >> >> Testing: >> * GHA, Oracle's tier 1-4 >> * Manuel inspection of printed content > > Joel Sikström has updated the pull request incrementally with four additional > commits since the last revision: > > - Feedback on Metaspace jcmd > - Copyright years > - Make HeapInfoTest.java more robust > - Switch naming order of ring-buffer names Marked as reviewed by stuefe (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/25214#pullrequestreview-2863132900