Problem about the G1

王在祥 wangzaixiang at
Sun Dec 27 07:03:40 PST 2009

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.
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the hotspot-gc-dev mailing list