Java Reference
In-Depth Information
This phase is responsible for finding all the GC root objects in the heap. The first set of num-
bers shows that objects currently occupy 702 MB of 1,398 MB of the old generation, while
the second set shows that the occupancy of the entire 2,027 MB heap is 772 MB. The applic-
ation threads were stopped for a period of 0.08 seconds during this phase of the CMS cycle.
The next phase is the mark phase, and it does not stop the application threads. The phase is
represented in the GC log by these lines:
90.059: [CMS-concurrent-mark-start]
90.887: [CMS-concurrent-mark: 0.823/0.828 secs]
[Times: user=1.11 sys=0.00, real=0.83 secs]
The mark phase took 0.83 seconds (and 1.11 seconds of CPU time). Since it is just a marking
phase, it hasn't done anything to the heap occupancy, and so no data is shown about that. If
there were data, it would likely show a growth in the heap from objects allocated in the
young generation during those 0.83 seconds, since the application threads have continued to
execute.
Next comes a preclean phase, which also runs concurrently with the application threads:
90.887: [CMS-concurrent-preclean-start]
90.892: [CMS-concurrent-preclean: 0.005/0.005 secs]
[Times: user=0.01 sys=0.00, real=0.01 secs]
The next phase is a remark phase, but it involves several operations:
90.892: [CMS-concurrent-abortable-preclean-start]
92.392: [GC 92.393: [ParNew: 629120K->69888K(629120K), 0.1289040 secs]
1331374K->803967K(2027264K), 0.1290200 secs]
[Times: user=0.44 sys=0.01, real=0.12 secs]
94.473: [CMS-concurrent-abortable-preclean: 3.451/3.581 secs]
[Times: user=5.03 sys=0.03, real=3.58 secs]
94.474: [GC[YG occupancy: 466937 K (629120 K)]
94.474: [Rescan (parallel) , 0.1850000 secs]
94.659: [weak refs processing, 0.0000370 secs]
94.659: [scrub string table, 0.0011530 secs]
[1 CMS-remark: 734079K(1398144K)]
1201017K(2027264K), 0.1863430 secs]
[Times: user=0.60 sys=0.01, real=0.18 secs]
Search WWH ::




Custom Search