Tarball: criu-2.12.tar.bz2
Version: 2.12 "Vulcanite Rook"
Released: 8 Mar 2017
GIT tag: v2.12

Welcome to CRIU, a project to implement checkpoint/restore functionality for Linux.

Checkpoint/Restore In Userspace, or CRIU (pronounced kree-oo, IPA: /krɪʊ/, Russian: криу), is a software tool for Linux operating system. Using this tool, you can freeze a running application (or part of it) and checkpoint it as a collection of files on disk. You can then use the files to restore the application and run it exactly as it was during the time of freeze. With this feature, application live migration, snapshots, remote debugging, and many other things are possible.

CRIU started as a project of Virtuozzo and grew with tremendous help from the community. It is currently used by (integrated into) OpenVZ, LXC/LXD, Docker, and other software, and CRIU packages is included into many Linux distributions.


Getting packages for your distribution
Or try manual installation to have CRIU on your system

Three ways to start using the C/R functionality. More info about APIs.
Usage scenarios
Ideas how criu can be used (some are crazy indeed)
Collection of real world examples of how to use CRIU. Some are complex, some are not. HOW TO dump a simple loop might be the best one to start with. Also a set of asciinema records for real-life examples.
FAQ & When C/R fails
A sort of troubleshooting guide
What can change after C/R
CRIU cannot (yet) save and restore every single bit of tasks' state. This page describes what bits visible through standard kernel API are such.
What cannot be checkpointed
What an application could do to make CRIU refuse to dump it.
Ways to communicate with CRIU community


If you're interested in CRIU development, please subscribe to the criu mailing list:

Description of image files format
CRIU can call plugins provided by people
Upstream kernel commits
Mainline kernel commits tracker
Recent commits
CRIU tool repository commits
Kernel's manpages commits tracker
ZDTM Test Suite
Zero downtime test suite
Current TODO list
User namespace
Implementing user namespace support
What to keep in mind when writing new code
Code coverage results
Shows how zdtm run covers the criu code paths
How to submit patches