The purpose of this article is to describe the format seen in the GC logs so this can be used to tune the heap.
The following is an example of a GC log entry:
325209.429: [GC 325209.429: [ParNew Desired survivor size 4128768 bytes, new threshold 2 (max 2) - age 1: 1812544 bytes, 1812544 total - age 2: 305568 bytes, 2118112 total : 1034582K->2103K(1040512K), 0.0116910 secs] 2598263K->1565814K(3137664K), 0.0118312 secs]
The GC log entry is comprised of the following elements:
{Time since VM started, in seconds}: [GC {Time since VM started}: [{GC type} Desired survivor size {size of one survivor space} bytes, new threshold {y} (max {x}) <- how many collections objects can stay in the young gen. - age 1: {a} bytes, {a} total <- How many objects have survived one collection. Next collection, any surviving objects will appear in age 2 - age 2: {b} bytes, {a+b} total : {pre-collection young gen[5] usage}K->{post-collection young gen usage}K({Total young gen size}K), {young gen time} secs] {pre-collection heap size}K->{post-collection heap size}K({total heap size}K), {total collection time} secs]