GC Tuning Confessions Of A Performance Engineer
summary
Claims concrete fixes: use GC logs plus VisualVM and simple parsing scripts to plot occupancy and scaling, and expect to find worst‑case pauses (one case shows a 20,699s full GC). Compares Parallel Old vs CMS vs G1 with actionable tunables: marking threshold 45% and G1 Reserve percent 10% (capped 50%), region sizes 1–32MB, PA time goal examples like 5s. Describes evacuation failures, humongous allocations, and practical knobs that do and do not avoid full GC.
AI-written summary · about
chapters (29)
- 0:00Intro
- 1:23About Today's Talk
- 2:36Performance Requirements
- 3:17Response Time Metrics
- 4:42Performance Analysis
- 5:58GC Performance Engineering
- 7:13Fun Facts!
- 7:28Ideal GC?
- 7:39The Reality!
- 8:55The Tradeoff
- 9:19The Throughput Maximizer
- 11:00Mr. Latency Sensitive
- 12:18The Serial Collector
- 13:42The CMS Collector
- 15:14Java Heap
- 16:09Contiguous Old Generation
- 17:00Concurrent Mode Failures
- 17:43The Garbage First Collector - Regionalized Heap
- 21:46Avoiding Evacuation Failures
- 24:48G1 Heap Waste Percentage
- 26:11The Garbage First Collector - Humongous Objects
- 29:11Generation Sizing
- 30:11Scaling: GC Times vs Sys Times
- 30:35Reference Processing Times
- 31:13GC Overhead vs Elapsed Time
- 33:33Old Generation & Collections
- 36:29GC Tuneables - The Throughput Collector
- 38:17GC Tuneables - The G1 Collector
- 42:23Further Reading
related talks
51mThe Diabolical Developer's Guide to Perfomance Tuning
40mDebugging JVM performance issues
38mFinding a needle in the haystack - Debugging performance issues
54mYour Performance Tuning Check List
15mExperiences in Managing the Performance and Reliability of a Large-Scale Genomics...
01h 00m7 Tips to Performance Tuning, Optimization, and Everything
43mPerformance Tuning, Getting the Biggest Bang for Your Buck
48mPractical Memory Tuning for PostgreSQL
