Uncollected garbage

Aleksey Shipilev shade at redhat.com
Mon Dec 20 10:23:50 UTC 2021


On 12/20/21 5:06 AM, Kirill Ilyukhin wrote:
> I am running a Tomcat server which uses java.awt.image to generate PNG
> images under a RedHat build of OpenJDK 8 with Shenandoah GC. JVM heap usage
> grows and the heap dump contains a lot of int[] buffers which are not
> referenced from any CG root. Eclipse Memory Analyzer displays them under
> the "unreachable_objects" tab. This does not happen when I run the server
> with the default garbage collector.

Those are likely filler objects:
   https://shipilev.net/jvm/anatomy-quarks/5-tlabs-and-heap-parsability/

That is to say it is unlikely to be a problem: GC cycles would ignore them as garbage, and heap 
should be compacted. The potential problem might be region-/TLAB-waste if the actual data arrays are 
not fitting the regions/TLABs exactly. You might want to look into Shenandoah Visualizer to 
understand the workload behavior better:
   https://github.com/openjdk/shenandoah-visualizer

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list