RFR: 8357818: Shenandoah doesn't use shared API for printing heap before/after GC

William Kemper wkemper at openjdk.org
Fri Jul 11 21:46:38 UTC 2025


On Fri, 11 Jul 2025 18:24:56 GMT, Rui Li <duke at openjdk.org> wrote:

> Add logging for Shenandoah as well as Generational Shenandoah. 
> 
> Log samples:
> 
> 
> ######################################
> Before gc
> ######################################
> [0.231s][debug][gc,heap      ] GC(0) Heap Before GC invocations=0 (full 0):
> [0.231s][debug][gc,heap      ] GC(0)  Shenandoah Heap
> [0.231s][debug][gc,heap      ] GC(0)   100M max, 100M soft max, 100M committed, 39686K used
> [0.231s][debug][gc,heap      ] GC(0)   400 x 256 K regions
> [0.231s][debug][gc,heap      ] GC(0)  Status: not cancelled
> [0.231s][debug][gc,heap      ] GC(0)  Reserved region:
> [0.231s][debug][gc,heap      ] GC(0)   - [0x00000000f9c00000, 0x0000000100000000) 
> [0.231s][debug][gc,heap      ] GC(0)  Collection set:
> [0.231s][debug][gc,heap      ] GC(0)   - map (vanilla): 0x0000000000004e70
> [0.231s][debug][gc,heap      ] GC(0)   - map (biased):  0x0000000000001000
> [0.231s][debug][gc,heap      ] GC(0) 
> [0.231s][debug][gc,metaspace ] GC(0) Metaspace Before GC invocations=0 (full 0):
> [0.231s][debug][gc,metaspace ] GC(0)  Metaspace       used 153K, committed 384K, reserved 1114112K
> [0.231s][debug][gc,metaspace ] GC(0)   class space    used 3K, committed 128K, reserved 1048576K
> 
> 
> 
> 
> ######################################
> After gc
> ######################################
> [2.067s][debug][gc,heap        ] GC(11) Heap After GC invocations=0 (full 0):
> [2.067s][debug][gc,heap        ] GC(11)  Shenandoah Heap
> [2.067s][debug][gc,heap        ] GC(11)   100M max, 100M soft max, 100M committed, 101356K used
> [2.067s][debug][gc,heap        ] GC(11)   400 x 256 K regions
> [2.067s][debug][gc,heap        ] GC(11)  Status: not cancelled
> [2.067s][debug][gc,heap        ] GC(11)  Reserved region:
> [2.067s][debug][gc,heap        ] GC(11)   - [0x00000000f9c00000, 0x0000000100000000) 
> [2.067s][debug][gc,heap        ] GC(11)  Collection set:
> [2.067s][debug][gc,heap        ] GC(11)   - map (vanilla): 0x0000000000004e70
> [2.067s][debug][gc,heap        ] GC(11)   - map (biased):  0x0000000000001000
> [2.067s][debug][gc,heap        ] GC(11) 
> [2.067s][debug][gc,metaspace   ] GC(11) Metaspace After GC invocations=0 (full 0):
> [2.067s][debug][gc,metaspace   ] GC(11)  Metaspace       used 190K, committed 384K, reserved 1114112K
> [2.067s][debug][gc,metaspace   ] GC(11)   class space    used 4K, committed 128K, reserved 1048576K

This looks good to me. Someday we should look at combining some of the other related messages (free set status, e.g.) into `ShenandoahHeap::print_heap_on`.

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

Marked as reviewed by wkemper (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/26272#pullrequestreview-3012097755


More information about the shenandoah-dev mailing list