How to understand the full GC log?

Currently, I see the following in PROD:

5429.779: [Full GC [PSYoungGen: 13809K->0K(505216K)] [PSOldGen: 253802K->245481K(319488K)] 267612K->245481K(824704K) [PSPermGen: 70059K->70059K(118784K)], 0.5869143 secs] [Times: user=0.59 sys=0.00, real=0.59 secs] 

I understand that A-> B (C) means: A, before gc, B after gc, C heap without tenured and perm

What I donโ€™t understand is a piece (outside of all [] s) which is 267612K->245481K(824704K) . What does this apply to?

+7
source share
3 answers

May I advise you to use tools instead of reading magazines manually.

Try the HPJmeter tool

I find this tool best. Holidays have so many tools. Refer: Know any Java garbage collection log analysis tools?

In general, in my experience, it is always better to use tools like the one above, which simply imports the GC log file and provides detailed graphs for different generations. If you switch to manual reading, your time will be more invested in reading than performance analysis.

+4
source

This is the total number of generations, which means the combined use of the heap and the total heap size in real memory (shown in braces).

In this example, [PSYoungGen: 13809K->0K(505216K)] [PSOldGen: 253802K->245481K(319488K)] 267612K->245481K(824704K) :

 13809K + 253802K = 267612K 0K + 245481K = 245481K 505216K + 319488K = 824704K 
+3
source

A complete garbage collector is an important event in the garbage collection process. During this full GC phase, garbage is collected from all areas in the JVM heap (Young, Old, Perm, Metaspace). Full GC tends to retrieve more objects from memory, as it works across all generations. The Full GC event has several stages. Certain phases of the Full GC event (such as' initial-mark ', note', cleanup, ..) suspend all application threads that run the JVM. During this period, customer transactions will not be processed. The JVM will use all CPU cycles to collect garbage. Thanks to this, the processor consumption will be quite high. Thus, overall, full GCs are not desirable. There is no need to ask about the desirability of sequential complete garbage collections. Successive full garbage collection will cause the following problems:

Consumption 1.CPU will increase 2. Since the JVM is paused, your applicationโ€™s transaction response time will be degraded. Therefore, it will affect your SLAs and degrade customer service.

enter image description here GCeasy tool heap graph - showing sequential full GC

What are consecutive full fees?

0
source

All Articles