Description
Describe the issue
During the load testing we discovered that (serial) garbage collector with adaptive policy have spikes in number of collection even tho for the whole test load stays more or less the same.
In attached picture we can see whole test run
and in this one zoomed in part of problematic area.
What I want to highlight is one example of spikes at 12:38, that lasts for about 25 seconds. In GC types graph on pics, we can see that number of GC events sharply rises, but their individual duration is not rising. Allocation rate stays roughly constant.
We can see that during that period "pre" memory (allocated memory when GC is triggered) is much smaller than usual. For example at time 2273861, which is right before problematic area, in logs we have Incremental GC with: 90133K->10261K
and then memory before collection starts to fall to 16811K->12203K at time 2280089 which is in bad area.
What could cause this behavior? It seems like young generation has shrunk and that causes GC to kick in earlier.
Attached are full GC logs
Steps to reproduce the issue
Cannot make reproducible example that doesn't uses our proprietary code.
Describe GraalVM and your environment:
- GraalVM version: 22.3.0
- JDK major version: 11
- OS: Linux custom
- Architecture: ARM64
arguments.txt
full_gc_data_compressed.zip
GCData.csv
notes.txt
zoom_in_gc_logs.txt