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 the 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 the 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.
- 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.
- 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: https://lists.openvz.org/mailman/listinfo/criu
- 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
Under the hood
- 2018-10-10, Adding checkpoint/restore support to Podman
- 2018-09-27, University of Aberdeen: "Efficient Live Migration of Linux Containers" ScotlandIS Young Software Engineer of the Year Runner-up Award
- 2018-03-24, Compile CRIU on CentOS 6
- 2017-12-06, Optimizing live container migration in LXD
- 2017-10-12, Red Hat Blog: Container Migration Around The World
- 2017-07-19, Red Hat Blog: How can process snapshot/restore help save your day?
- 2016-12-16, University of Lisbon: ALMA – GC-assisted JVM Live Migration for Java Server Applications
- 2017-06-29, University West, Sweden: Distributed Checkpointing with Docker Containers in High Performance Computing
- 2016-07-20, Red Hat KnowledgeBase: CRIU - Checkpoint/Restore in user space
- 2016-07-20, LWN.net: Quality in open source: testing CRIU
- 2016-06-22, Usenix: Instant OS Updates via Userspace Checkpoint-and-Restart
- 2016-05-04: Lazy Process Migration
- 2015-12-31, Use the CRIU Docker container of stop / resume to the challenge