CRIU is a checkpoint and restore utility that freezes running Linux applications and saves their state to disk for later restoration from that exact point. The tool operates primarily in user space, distinguishing it from kernel-level approaches, and handles the complexity of preserving application state across the full range of Linux kernel features. CRIU originated as a live migration mechanism for OpenVZ containers but has evolved into a general-purpose tool now integrated into Docker, LXC/LXD, OpenVZ, and other container and virtualization platforms.
The core problem CRIU solves is enabling zero-downtime application migration and recovery by capturing the complete runtime state of a process or process group. It works by injecting parasite code into running processes to extract their state, then serializing that state to files that can be used to restore the application elsewhere or at a later time. The project exposes specialized capabilities as standalone libraries: libcompel for parasite code injection, libsoccr for TCP connection checkpoint-restore, and P.Haul, a Go library that abstracts the complexity of live migration workflows.
Adoption suits organizations running containerized workloads that require live migration, high availability, or rapid recovery capabilities. The tool is most valuable in environments where application downtime is costly and where the target system runs a compatible Linux kernel. The README identifies other checkpoint-restore projects for Linux but notes that CRIU appears to be the most feature-rich and current with kernel development. Teams should be aware that troubleshooting checkpoint-restore failures can be complex, and the project documentation acknowledges limitations on what can be checkpointed.
Almost all open issues originate from outside users rather than the core team, reflecting a substantial base of real-world adopters. Maintainers typically respond to new issues and pull requests within hours. The issue tracker is dominated by stale-issue, no-auto-close, and new feature labels, indicating ongoing maintenance activity and continued feature development.