CRaC Reduces JVM Startup Time from 330 Seconds to 3 Seconds
·2026.11.01 14:22
Key point
Using Coordinated Restore at Checkpoint, the team enabled real autoscaling and reduced steady-state CPU usage to 20% of baseline.
Details
- JVM startup time reduced from ~330 seconds to ~2–3 seconds by using CRaC to clone a warm process instead of booting a new one.
- Full fleet deploy time dropped from ~20 minutes to ~4 minutes, and steady-state pod CPU usage fell to ~20% of baseline.
- A production incident occurred when CPU feature bitmaps mismatched between checkpoint and restore hosts, causing restore failures.
- The fix involved pinning the baseline CPU feature set via an environment variable to ensure compatibility across dynamically provisioned hardware.
- CRaC relies on Linux CRIU to freeze a warmed-up JVM process to disk and restore it on new pods, bypassing JIT warmup entirely.
- The approach enables safe use of spot instances and real autoscaling, which were previously unviable due to long cold-start times.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.