RFR: 8306656: Generational ZGC: Fix age table logging [v3]
Erik Helin
ehelin at openjdk.org
Tue May 2 11:13:44 UTC 2023
> Hey all,
>
> please review this patch that updates the age table logging. The logging now looks like:
>
>
> [1.946s][info][gc,reloc ] GC(22) y: Age Table:
> [1.946s][info][gc,reloc ] GC(22) y: Live Small Medium Large
> [1.946s][info][gc,reloc ] GC(22) y: Eden 0M -> 0M 300 -> 300 0 -> 0 0 -> 0
> [1.946s][info][gc,reloc ] GC(22) y: Survivor 1 0M -> 0M 2 -> 2 0 -> 0 0 -> 0
> [1.946s][info][gc,reloc ] GC(22) y: Survivor 2 0M -> 0M 1 -> 0 0 -> 0 0 -> 0
> [1.946s][info][gc,reloc ] GC(22) y: Survivor 3 0M -> 0M 1 -> 1 0 -> 0 0 -> 0
> [1.946s][info][gc,reloc ] GC(22) y: Survivor 4 0M -> 0M 0 -> 1 0 -> 0 0 -> 0
>
>
> The first column is the size of the live objects with the given age and how that has changed since the previous collection. The remaining columns are the number of pages of the given age and how those have changed from the previous collection to the current one (so the format is `<previous> -> <current>`). This makes it easy to spot a change in behavior in objects' lifetimes from one collection to another: if objects have similar lifetimes compared to the previous collection then the distribution of pages should be similar between the current collection and the previous collection.
>
> _Note_: I would like to make the table adapt to live sizes smaller than one megabyte, but that should probably be done for the logging as a whole, not just for the age table.
>
> I also cleaned up some minor stuff as I went along.
>
> Testing:
> - [x] Tier 1-3 (macOS-aarch64, Windows-x64, Linux-x64, Linux-aarch64)
> - [x] Local testing on macOS-aarch64
>
> Thanks,
> Erik
Erik Helin has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:
- Add units
- StefanK changes
- Rework age table logging
-------------
Changes: https://git.openjdk.org/zgc/pull/19/files
Webrev: https://webrevs.openjdk.org/?repo=zgc&pr=19&range=02
Stats: 172 lines in 6 files changed: 89 ins; 42 del; 41 mod
Patch: https://git.openjdk.org/zgc/pull/19.diff
Fetch: git fetch https://git.openjdk.org/zgc.git pull/19/head:pull/19
PR: https://git.openjdk.org/zgc/pull/19
More information about the zgc-dev
mailing list