Can full GCs change in their “efforts”?

Another developer mentioned to me today the idea that the full GC (which will be displayed in the detailed gc logs with the full GC) may vary depending on the efforts made. For a normal complete collection, he, for example, will use only 80% of the effort, which will lead to a reduction in collection time, but perhaps some unreachable objects will be ignored. If this is not enough, or the time spent on such collections has increased too much, it will make more efforts to find more objects, but may take more time.

I cannot refer to this, perhaps because I am using the wrong terms.

Is this true, especially for any of the Alogorithms Java Java JVM collector?

thanks

+4
source share
3 answers

Regarding the Hotspot GC algorithms:

Collector G1 has a pause goal , which is used by the algorithm to determine how much space to recover to achieve that goal - that is, ending within a while. But this applies not only to Full GC, but in the case of G1, this applies to all phases of the GC. G1 adjusts its collection strategy (or “effort”) for each phase at run time depending on how much was collected and how much time passed in the previous step. See How does the garbage collector work? for more details.

CMS GC, G1 GC.

, Parallel Collector - , OldGen.

+2

this this . Java:

, 60% ( , ), 82% . , 18% , 82%! , , , , : .

, , " ". , , ?

+1

All Articles