logging - What does "GC--" mean in a java garbage collection log? -
We have turned on Verbose GC logging to keep track of known memory leak and have received the following entries in the log:
/ p>
... 3607872.687: [GC 471630K-> 390767K (462208K), 0.0325540 seconds] 36,07,873.213: [GC-- 458095K-> 462181K (462208K), 0.2757790 seconds] 36,07,873.488: [Full GC 462181K-> 382186K (462208K), 1.5346420 seconds] ...
I understand first of them and the third of them, but "GC--" means what a
I get these types of lines in my GC output:
44871.602: [GC-- [PSYoungGen: 342848K- & Gt; 342848K (345600K)] 961401K- & gt; 1041877K (1044672K), 0.1018780 seconds] [Times: user = 0.16 sys = 0.00, real = 0.11 sec]
I read the answer to Jesse and understand it, but I will go to it Want to see in GC source code, when GVM prints in GC log and why.
Because the "parallel scavenge" for my knowledge is the young general is a stop-the-world GC, so for this GC there can not be any parallel thing (see)
You can find this in JDK source code (see) g1CollectedHeap.cpp and psScavenge.cpp
jdk7-ee67ee3bd597 / hotspot / src / share $ egrep -H- A2-B5-R '"\ - \'" * * # G-1 Collector if (empty-fold ()) {remove_self_forwarding_pointers (); If (printccd) {gclog_or_tty- & gt; Print ("(space overflow)"); } Else if (PrintGC) {gclog_or_tty- & gt; Print ("-"); }} - # parallel skewes collector promotion_failure_occurred = promotion_failed (); If (promotion_failure_occurred) {clean_up_failed_promotion (); If (PrintGC) {gclog_or_tty- & gt; Print ("-"); }}
Parallel, Cause for the GC-
with the Worm CollectorYoung GCI faced failure (see):
The failure of a promotion is something that can not be successful because there is not enough room in the old genes to make all the necessary promotions. The wry is open and after that the whole stack is done with a full STW compaction in a nutshell.
'Not enough space' is not necessary There is not enough room that is old, but old place is heavily divided (see):
[...] Especially for promoting large objects, it is impossible to find certain amounts of continuous memory, even if the number of total bytes is huge
These two JVM options are used to analyze your heap fragmentation (see). Can cause:
-XX: + printprovision file -XX: printflostastics = 1
due to G1 - with G1 collector
There is not enough space for living things in a survivor area when there is a removal failure with G1. Young area.
I do not know whether G1 collector answers an evacuation failure with a full GC or not.
Comments
Post a Comment