Tuning Java's G1 Garbage Collector for Realtime Services

Thursday, June 13, 2019 - 5:00 pm5:30 pm

Andi Chalfant, Facebook, Inc


Java's G1 Garbage Collector is here, and will be replacing Concurrent Mark and Sweep as the new default for JDK10 and later. The G1 collector is a pure stop-the-world collector, and for services with hard and fast latency constraints the premise of a pure stop the world collector can seem daunting. Understanding how the collector works and being able to measure your service workload are crucial to effectively tuning the G1 collector. With the right settings, the G1 collector can work effectively for realtime applications, even on very large heaps. This talk discusses how the G1 collector works, measuring G1's performance, and tuning ergonomics with a focus on latency sensitive services.

Andi Chalfant, Facebook, Inc

Andi is a Production Engineer based in Seattle, working on archival storage systems. Andi first started at Facebook in 2012, and in their time at the company they have worked on scaling the data warehouse, wrangling build systems, and refining the production of Messenger's MQTT-based network transport edge service. Andi holds an A.B. in Political Science and East Asian Languages and Civilizations from the University of Chicago.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

@conference {233215,
author = {Andi Chalfant},
title = {Tuning Java{\textquoteright}s G1 Garbage Collector for Realtime Services},
year = {2019},
address = {Singapore},
publisher = {USENIX Association},
month = jun

Presentation Video