In the following output, what is the concurrent mark-sweep generation?
par new generation total 24512K, used 12082K [0x00007fb3b9420000, 0x00007fb3bac20000, 0x00007fb3bac20000)
eden space 24448K, 49% used [0x00007fb3b9420000, 0x00007fb3b9fec808, 0x00007fb3bac00000)
from space 64K, 0% used [0x00007fb3bac10000, 0x00007fb3bac10000, 0x00007fb3bac20000)
to space 64K, 0% used [0x00007fb3bac00000, 0x00007fb3bac00000, 0x00007fb3bac10000)
concurrent mark-sweep generation total 8364032K, used 233100K [0x00007fb3bac20000, 0x00007fb5b9420000, 0x00007fb5b9420000)
concurrent-mark-sweep perm gen total 98304K, used 72031K [0x00007fb5b9420000, 0x00007fb5bf420000, 0x00007fb5bf420000)
I understand eden, from, to and perm gen, but what is "concurrent mark-sweep generation"?
The concurrent mark sweep collector, also known as the concurrent collector or CMS, is targeted at applications that are sensitive to garbage collection pauses. It performs most garbage collection activity concurrently, i.e., while the application threads are running, to keep garbage collection-induced pauses short.
The CMS collector uses one or more garbage collector threads that run simultaneously with the application threads with the goal of completing the collection of the tenured generation before it becomes full.
The mark-and-sweep algorithm is called a tracing garbage collector because it traces out the entire collection of objects that are directly or indirectly accessible by the program. Example: A. All the objects have their marked bits set to false.
The Tenured generation is used for the longer lived objects. Another GC process (CMS) runs when it becomes full to remove any unused objects. The Tenured generation is larger and less active than the Young generation but GC tends to have more impact on performance.
"concurent mark-sweep generation" is the old generation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With