Demystifying G1GC
summary
G1GC targets short pauses by letting you set a 200ms pause target (via the max-pause flag) and by splitting the heap into regions sized 1–32MB so it adapts on the fly to about ~2000 regions. It performs young, concurrent mark, and mixed collections; humongous objects (>½ region) go straight to old gen and can trigger long evacuation stalls. Use PrintGCDetails and PrintGCApplicationStoppedTime plus tools GCViewer or JClarity to inspect logs; evacuation failures have caused pauses measured up to 95 seconds.
AI-written summary · about
chapters (12)
- 0:00Intro
- 1:00Why G1GC
- 5:05How does it work
- 6:10What is completely new
- 7:40Garbage collection
- 14:35Log analysis
- 15:41Log recommendations
- 19:46Heap Size
- 21:10Mongoose allocations
- 23:36Evacuation
- 26:03Avoiding evacuation
- 29:19Duplicate strings
related talks
39mG1GC Concepts and Performance Tuning
01h 14mHave you really taken the time to know me: A G1 GC saga
59mGC Tuning Confessions of a Performance Engineer
46mMastering GC: tame the beast and make it your best ally
52m-XX:+UseG1GC
47mGarbage First Garbage Collector
47mTuning G1G
44mMastering GC: tame the beast and make it your best ally
