RFR: JDK-8310110: ShenandoahGC: Trace page sizes

Thomas Stuefe stuefe at openjdk.org
Fri Jun 16 07:07:59 UTC 2023


`-Xlog:pagesize` now produced this printout


[0.006s][info][pagesize] Heap: req_size=5G base=0x00000006c0000000 page_size=1G alignment=1G size=5G
[0.006s][info][pagesize] Mark Bitmap: req_size=160M base=0x00007fc4c0000000 page_size=1G alignment=1G size=1G
[0.011s][info][pagesize] Aux Bitmap: req_size=160M base=0x00007fc4c0000000 page_size=1G alignment=1G size=1G
[0.011s][info][pagesize] Region Storage: req_size=320K base=0x00007fc3c0000000 page_size=1G alignment=1G size=1G
[0.011s][info][pagesize] Collection Set: req_size=16K base=0x0000000000010000 page_size=4K alignment=4K size=16K


Note that this printout is from a machine with 1G pages and -XX:+UseLargePages; it nicely demonstrates how much memory we waste in that case on support structures; https://bugs.openjdk.org/browse/JDK-8310111 tracks that.

Also note that I reuse `os::trace_page_sizes_for_requested_size` here, which I think can be improved and made clearer (alignment is actually requested pagesize). This is tracked separately in https://github.com/openjdk/jdk/pull/14484 .

-------------

Commit messages:
 - JDK-8310110-Trace-page-sizes

Changes: https://git.openjdk.org/jdk/pull/14486/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14486&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8310110
  Stats: 19 lines in 1 file changed: 15 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/14486.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14486/head:pull/14486

PR: https://git.openjdk.org/jdk/pull/14486


More information about the hotspot-dev mailing list