Problem about the G1

Y. Srinivas Ramakrishna Y.S.Ramakrishna at Sun.COM
Mon Dec 28 06:05:05 UTC 2009


As the notation "Full GC (System.gc())" indicates those are whole heap
stop-world gc's invoked by the application (or a library used by the application).
You might try -XX:+DisableExplicitGC to avoid those.

-- ramki

王在祥 wrote:
> I have tried the G1 collector on our server application, It works well than
> the traditional GC in general, But someimes it works worse.
> 
> In the gc log, there is something like:
> 
> 2009-12-27T16:16:58.349+0800: 90141.114: [GC pause (young) 230M->124M(256M),
> 0.0889540 secs]
> 2009-12-27T16:18:09.441+0800: 90212.205: [GC pause (young) 226M->125M(256M),
> 0.0899600 secs]
> *2009-12-27T16:18:11.061+0800: 90213.826: [Full GC (System.gc())
> 127M->69M(256M), 1.2395790 secs]
> 2009-12-27T16:18:12.344+0800: 90215.109: [Full GC (System.gc())
> 69M->62M(256M), 0.8697400 secs]
> 2009-12-27T16:18:13.216+0800: 90215.980: [Full GC (System.gc())
> 62M->62M(256M), 0.8004920 secs]
> 2009-12-27T16:18:14.024+0800: 90216.788: [Full GC (System.gc())
> 62M->62M(256M), 0.8044560 secs]
> 2009-12-27T16:18:14.835+0800: 90217.599: [Full GC (System.gc())
> 63M->62M(256M), 0.8234630 secs]
> 2009-12-27T16:18:15.662+0800: 90218.426: [Full GC (System.gc())
> 62M->62M(256M), 0.7958250 secs]
> 2009-12-27T16:18:16.469+0800: 90219.234: [Full GC (System.gc())
> 62M->62M(256M), 0.8460750 secs]
> *2009-12-27T16:20:05.942+0800: 90328.706: [GC pause (young) 220M->63M(256M),
> 0.0326670 secs]
> 2009-12-27T16:21:55.291+0800: 90438.055: [GC pause (young) 222M->66M(256M),
> 0.0277280 secs]
> 2009-12-27T16:24:33.579+0800: 90596.344: [GC pause (young) 224M->65M(256M),
> 0.0326570 secs]
> 
> It looks that G1 tries 7 full GC at a point, one after another.
> 
> Why it happens?  I am using the JDK1.6.0_17, running with -Xms256m -Xmx512m.
> 




More information about the hotspot-gc-dev mailing list