答复: Discussion about logging *Basic* statistic of evacuation failure
lihuaming (A)
lihuaming3 at huawei.com
Mon Dec 6 11:47:46 UTC 2021
> I would like to step away from the term "Evacuation Failure" in the log messages - we will be using this mechanism for pinned region as well and I'm not really sure that using a term with "failure" in the name for something that is a regular non-exceptional occurrence.
Agree, "Evacuation Failure" is not a good option. :)
> "Remove Self Forwards" is fine.
>
> Here are some suggestions for the log messages:
>
> In-Place Evacuation (ms) // Not sure if this is an "evacuation"
> // but "In-Place" Handling isn't really
> // good.
> In-Place Regions // Maybe these three could be reported
> // in "Object Copy"? But is fine here
> Self Forwarded Objects // too.
> In-Place Live Bytes
>
> "In-Place Regions" might be split later in "Pinned regions" and "Evacuation Failed Regions" (which we might use instead of "In-Place Regions" already).
Sure, we will need to distinguish between "pinned regions" and "evacuation failed regions", I think we need to do the same for objects and bytes.
> Would be nice to have "Memory Usage" for the segments/allocators too here somewhere.
Sure.
> As for the sub-phases I prefer more specific terms to generic ones like "prepare", "process", "cleanup".
>
> Sort Self Forward Refs (ms) // Also not that good probably :)
> Remove Self Forwards (ms) // Actual work
> Reclaim Memory (ms)
Agree.
To summarize your suggestions:
```
[11.094s][debug][gc,phases] GC(0) Remove Self Forwards Total (ms): Min: 785.3, Avg: 1694.0, Max: 2515.6, Diff: 1730.4, Sum: 54209.0, Workers: 32
[11.094s][debug][gc,phases] GC(0) Memory Usage Segments(bytes): Min: xxx, Avg: xxx.8, Max: xxx, Diff: xxx, Sum: xxx, Workers: 32
[11.094s][debug][gc,phases] GC(0) Memory Usage Sort (bytes): Min: xxx, Avg: xxx.8, Max: xxx, Diff: xxx, Sum: xxx, Workers: 32
[11.094s][debug][gc,phases] GC(0) In-Place Regions: Min: 79, Avg: 79.0, Max: 79, Diff: 0, Sum: 79, Workers: 1
[11.094s][debug][gc,phases] GC(0) Self Forwarded Objects: Min: 220509, Avg: 773970.7, Max: 1188749, Diff: 968240, Sum: 24767061, Workers: 32
[11.094s][debug][gc,phases] GC(0) In-Place Live Bytes: Min: 6271696, Avg: 23578654.8, Max: 36133240, Diff: 29861544, Sum: 754516952, Workers: 32
[11.094s][debug][gc,phases] GC(0) Sort Self Forward Refs (ms): Min: 59.6, Avg: 231.4, Max: 363.7, Diff: 304.1, Sum: 7405.2, Workers: 32
[11.094s][debug][gc,phases] GC(0) Remove Self Forwards (ms): Min: 632.9, Avg: 1431.2, Max: 2145.8, Diff: 1513.0, Sum: 45799.8, Workers: 32
[11.094s][debug][gc,phases] GC(0) Reclaim Memory (ms): Min: 0.4, Avg: 1.7, Max: 2.8, Diff: 2.4, Sum: 52.9, Workers: 32
```
> But probably others have better ideas :) I will continue thinking about this.
:)
Thanks
-Hamlin
More information about the hotspot-gc-dev
mailing list