Re: 答复: Discussion about logging *Basic* statistic of evacuation failure

Thomas Schatzl thomas.schatzl at oracle.com
Tue Dec 7 14:51:26 UTC 2021


(Stefan hit "Reply", not "Reply All" - bringing this back to hotspot-gc-dev)

Hi,

On 07.12.21 14:22, Stefan Johansson wrote:
 > Hi,
 >
 > Just a few thoughts on this, as Thomas say we can improve on it later.
 >
 > On 2021-12-07 11:31, Thomas Schatzl wrote:
 > [...]
 > First of all, do we plan to keep this as part of "Post Evacuate
 > Cleanup 1"?

Yes. [...]

 > "Clean Pinned Regions (ms)"? I know we currently don't have "real"
 > pinned regions, but we kind of pin the failed regions. Going forward
 > we would then just add an additional count below having both "Evac
 > Failed Regions" and "User Pinned Regions" (or whatever we call them).
 > An alternative could also be "Clean Unevacuated Regions (ms)", not
 > sure which one I like the best.
 >
 > I know "self forward" is accurate, but I wonder if we want this in the
 > logs. To me labeling them as live or surviving would make more sense.>
 > My suggestion would look something like this:
 > Clean Unevacuated Regions (ms)
 >    Sort Live Objects (ms)>    Clean Live Objects (ms)
 >      Cleaned Objects                   [debug/trace]
 >      Cleaned Bytes                     [debug/trace]
 >    Reclaim Memory (ms)
 >      Storage Usage                     [trace]
 >      Sorting Usage                     [trace]
 >    Evacuation Failed Regions>
 > I change the level on "Reclaim Memory" compared to Thomas suggestion,
 > but I don't have a very strong opinion. My reasoning is just that
 > people might be confused by seeing that the sub-measurements doesn't
 > match the total.

I like this suggested indentation better than mine.

After looking a bit in a thesaurus (whoooh), I came up with "Retained" 
for such regions/objects/bytes. So the result could look something like 
this:

Restore Retained Regions (ms)
   Sort Retained Object Refs (ms)
   Reformat Retained Regions (ms)
     Retained Objects                     [debug/trace]
     Retained Bytes                       [trace]
   Reclaim Memory (ms)
     Used <something>[Segment Memory]     // maybe just combine both?
     Used Other Memory                    // to "Used Memory"
   Evacuation Failed Regions

E.g. just have "Used Memory" below "Reclaim Memory" - I assume that 
total usage is most interesting anyway. So something like this:

Restore Retained Regions (ms)
   Prepare Retained Object Refs (ms)
   Reformat Retained Regions (ms)
     Retained Objects                     [debug/trace]*
     Retained Bytes                       [trace]*
   Reclaim Memory (ms)
     Used [Native] Memory                 [trace]
   Evacuation Failed Regions

(Not sure about the levels yet, need to see it in action)

"Evacuation Failed Regions" may later be expanded to

   Retained Regions
     Evacuation Failed Regions            [trace]
     Pinned Regions                       [trace]

Or we already do that and just not have "Pinned Regions" for a while.

That seems okay at least - better than what we started out with :)

Thanks,
   Thomas



More information about the hotspot-gc-dev mailing list