If running with -Xlog:gc+heap*=trace the JVM will print the extra per thread amount which is added to the new generation on resize:
[0,105s][debug][gc,ergo,heap ] GC(0) New generation size 34112K->34176K [eden=27392K,survivor=3392K]
[0,105s][trace][gc,ergo,heap ] GC(0) [allowed 0K extra for 0 threads]
Currently this will always print "0K extra for 0 threads" no matter how much extra space was added.
Also, the shrink factor will always be printed to be 0%, even if we run with -XX:-ShrinkHeapInSteps which pins the shrink factor at 100%:
[13,213s][trace][gc,heap ] GC(34) shrink_bytes: 463564,0K current_shrink_factor: 0 new shrink factor: 0 _min_heap_delta_bytes: 192,0K
[13,239s][trace][gc,heap ] GC(34) Shrinking tenured generation from 531852K to 68288K
[0,105s][debug][gc,ergo,heap ] GC(0) New generation size 34112K->34176K [eden=27392K,survivor=3392K]
[0,105s][trace][gc,ergo,heap ] GC(0) [allowed 0K extra for 0 threads]
Currently this will always print "0K extra for 0 threads" no matter how much extra space was added.
Also, the shrink factor will always be printed to be 0%, even if we run with -XX:-ShrinkHeapInSteps which pins the shrink factor at 100%:
[13,213s][trace][gc,heap ] GC(34) shrink_bytes: 463564,0K current_shrink_factor: 0 new shrink factor: 0 _min_heap_delta_bytes: 192,0K
[13,239s][trace][gc,heap ] GC(34) Shrinking tenured generation from 531852K to 68288K