Java 8 GC Tutorials - Herong's Tutorial Examples - v1.03, by Dr. Herong Yang
Concurrent Mark-Sweep (CMS) Collector - "+XX:+UseConcMarkSweepGC"
This chapter provides tutorial notes and example codes on the Concurrent Mark-Sweep Collector specified by the '+XX:+UseConcMarkSweepGC' JVM option. Topics include introduction to Concurrent Mark-Sweep (CMS) Collector; CMS Collector log message format; demonstration of reduction of stop-the-world by running parts of Mark and Sweep step concurrently with the application.
These sections are omitted from this Web preview version. To view the full content, see information on how to obtain the full version this book.
What Is Concurrent Mark-Sweep (CMS) Collector
Concurrent Mark-Sweep Collector GC Log Message Format
Reduce Stop-The-World with Concurrent Mark and Sweep
Parallel New (ParNew) Collector for Minor GC
ParNew Collector - Tenuring Age Distribution
"-XX:MaxTenuringThreshold=0" - Tenuring Objects Immediately
"-XX:CMSInitiatingOccupancyFraction=20" - Initiate CMS
"concurrent mode failure" - CMS Cancelled
"-XX:PrintCMSStatistics=1" - Print CMS Threads Stats
CMS GC Phases and Threads
"-XX:ParallelGCThreads=2" - CMS Parallel Threads
"-XX:ConcGCThreads=3" - CMS Concurrent Threads
Takeaways:
Table of Contents
Heap Memory Area and Size Control
JVM Garbage Collection Logging
Introduction of Garbage Collectors
Serial Collector - "+XX:+UseSerialGC"
Parallel Collector - "+XX:+UseParallelGC"
►Concurrent Mark-Sweep (CMS) Collector - "+XX:+UseConcMarkSweepGC"
Garbage First (G1) Collector - "+XX:+UseG1GC"
Object References and Garbage Collection
Garbage Collection Performance Test Program
Performance Tests on Serial Collector
Performance Tests on Parallel collector
Performance Tests on Concurrent collector
Performance Tests on G1 collector