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

Stefan Johansson stefan.johansson at oracle.com
Tue Dec 7 13:22:24 UTC 2021


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:
> 
> So my current suggestion is this (I reordered them a bit - typically we 
> are more concerned with timing than memory consumption :P), including 
> the levels (with debug level the default):
> 
> In-Place Collection (ms)            [I really do not like "Remove Self 
> Forwards Total" ;)]
>    Sort Self Forward Refs (ms)
>    Remove Self Forwards (ms)
>    Reclaim Memory (ms)               [trace, probably not interesting 
> most of the time, and can be deducted by subtraction]
>    Evacuation Failed Regions
>    Self Forwarded Objects
>    Self Forwarded Bytes              [trace]
>    Segments Memory                   [trace, depending on typical size]
>    Sort Memory                       [trace, depending on typical size]
> 

First of all, do we plan to keep this as part of "Post Evacuate Cleanup 
1"? If so, calling this "In-Place Collection" feels a bit strange, and I 
mean this is more of a cleanup. What do you think about something like 
"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.

Also I'm not sure if the count and the size of the cleaned objects 
should be on debug or trace. And if only one, I think I find the size 
more interesting, even if the amount of work is per object.

Another alternative that popped up just now before hitting send, maybe 
"Restore" instead of "Clean". Well, naming is always hard =)

Cheers,
Stefan

> We can always improve this later, so I'd maybe wait for another 
> suggestion for a day or so and then let's go ahead with this.
> 
> Thanks,
>    Thomas



More information about the hotspot-gc-dev mailing list