When will G1 GC trigger initial-mark besides IHOP

Thomas Schatzl thomas.schatzl at oracle.com
Thu Jan 30 16:35:55 UTC 2020


Hi,

On 30.01.20 16:51, Roy Zhang wrote:
> Dear JVM experts,
> 
> I set -XX:InitiatingHeapOccupancyPercent=70 in JDK8 (no adaptive IHOP 
> feature), but I found there are two initial-mark phase at the beginning 
> of JVM start when HeapOccupancyPercent is far less than 70%, is there 
> any other factor which will trigger G1 GC initial mark phase? Thanks in 
> advance!
> 
> *Excerpt of GC log:*
> 2020-01-22T03:58:14.227+0000: 3.158: [GC pause (Metadata GC Threshold) 
> (young) (initial-mark), 0.1583711 secs]
> [Eden: 1056.0M(81920.0M)->0.0B(81184.0M) Survivors: 0.0B->736.0M Heap: 
> 1472.0M(160.0G)->1179.5M(160.0G)]
> 2020-01-22T04:13:07.073+0000: 896.004: [GC pause (G1 Evacuation Pause) 
> (young) (initial-mark), 3.8512514 secs]
> [Eden: 81184.0M(81184.0M)->0.0B(71904.0M) Survivors: 736.0M->10016.0M 
> Heap: 83643.5M(160.0G)->11744.0M(160.0G)]
> 

   the log message before the "initial mark" gc tells you - when the 
Metaspace is about to get full to try to unload data in it (e.g. Class 
data).

I.e. the condition is either:
- Java heap gets too full
- Metaspace gets too full

Thanks,
   Thomas


More information about the hotspot-gc-use mailing list