Problem about the G1

Igor Veresov Igor.Veresov at Sun.COM
Sun Dec 27 20:04:38 PST 2009


It's because your application or libraries call it.
Try running it with -XX:+DisableExplicitGC, that will tell the VM to 
ignore System.gc() calls.

igor

On 12/27/09 7:03 AM, 王在祥 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