CRIU is a Linux process checkpointing tool and state manager used to freeze running applications and save their memory and state to disk for later restoration. It functions as a container migration engine and an OCI checkpoint image converter, allowing the live state of running containers to be transferred between different hosts.
The project distinguishes itself through its ability to persist network connectivity, acting as a TCP connection state persister that saves and reconstructs network socket states to maintain active communication after a restart. It further enables the distribution of process checkpoints by transforming them into annotated OCI images for use with container registries.
The system covers a broad range of capabilities, including process tree recovery, memory image deduplication, and GPU workload checkpointing. It manages low-level system state such as PID namespaces, file locks, and mount points, while providing tools for application behavior analysis and image consistency verification.
The project is implemented in C.