Different Full GCs?
higuava at gmail.com
Thu Oct 14 10:42:47 PDT 2010
I've seen different full GC messages and I don't quite understand them:
13011:1474.283: [Full GC 1474.283: [CMS:
3333048K->1021496K(12540352K), 6.3444520 secs]
3363388K->1021496K(12582848K), [CMS Perm : 30528K->30483K(30656K)],
34822:4101.808: [Full GC 4101.808: [ParNew: 667K->0K(42496K),
0.0210030 secs] 5953849K->5953209K(12582848K), 0.0211110 secs]
51586:25535.616: [Full GC 25535.616: [ParNew: 750K->0K(42496K),
0.0324350 secs] 5341677K->5340939K(12582848K), 0.0326130 secs]
63486:26306.646: [Full GC 26306.646: [CMS[Unloading class
Both GC #1 and #4 are triggered by System.gc() in our code. I believe
they are the same type. There was less memory available during #4 so
it unloaded classes (soft reference?).
But full gc is the stop-the-world gc. Why does it mention CMS in the message?
GC #2 and #3 look weird to me. They were not triggered by System.gc().
They are always very short and the duration is about the same as young
generation GCs. In fact, the message is exact like young generation
GCs except the extra word "Full". What are these short full gcs? Are
there different level of full GCs?
I spent some time searching for answer but I am still confused. Can
somebody help explain and suggest some reading materials?
Java HotSpot(TM) 64-Bit Server VM Version 1.5.0_19-b02
Linux Version 2.6.9-89.0.20.ELsmp
More information about the hotspot-gc-use