1

While testing MaxFreeHeapRatio and MinFreeHeapRatio I found the following situation:

Application heap profiling

Garbage collector activity profiling

So, the JVM keep executing the garbage collector even though there is lots of free memory available.

I'm using the following flags:

-Xms512m
-Xmx15636m
-XX:MaxHeapFreeRatio=70
-XX:MinHeapFreeRation=20

Any idea of the reason for this behavior?

jmj
  • 237,923
  • 42
  • 401
  • 438
  • Not sure if I am thinking right. Serial GC and Parallel GC are long pause garbage collections. This means if there is a lot to collect and the frequency of collection is less, it might end up pausing for long time while collection. Hence, I think it is logical to have frequent small collects (as it will pause for lesser time) and that is what it might be doing. – dharam Jan 25 '16 at 11:17
  • Is your tenured space more than 20% full? – Peter Lawrey Jan 25 '16 at 12:01
  • charts omit way too much information. Enable `-XX:+PrintGCDetails`, inspect the GC logs, they should inform you about the GC cause. `-XX:+PrintHeapAtGC` may help too. – the8472 Jan 25 '16 at 13:56
  • Is it meant to be `MinHeapFreeRation` or `MinHeapFreeRatio`? – WW. Jan 28 '16 at 04:33

0 Answers0