RFR: Trim down native GC footprint

Aleksey Shipilev shade at redhat.com
Mon May 22 08:36:35 UTC 2017


Hi,

I have reviewed Shenandoah memory footprint with NMT, and suggest we do these
things:

 a) Avoid instantiating jvmstat counters when sampling is disabled;
 b) Avoid creating matrix when UseShenandoahMatrix is disabled;
 c) Avoid creating partialGC task queues when policy does not enable partial gc;
 d) Avoid conservative heap alignment, but instead poll the actual one -- thus
bitmaps are more compact for small heaps.

All implemented here:
  http://cr.openjdk.java.net/~shade/shenandoah/footprint-1/webrev.01/

Before:

- GC (reserved=17454KB, committed=17454KB)
     (malloc=16430KB #257)
     (mmap: reserved=1024KB, committed=1024KB)

After:

- GC (reserved=8742KB, committed=8742KB)
     (malloc=8230KB #231)
     (mmap: reserved=512KB, committed=512KB)

Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list