CRIU is a tool that provides checkpoint and restore capabilities in Linux. It allows saving the state of processes and restoring them later. This allows for failure recovery, live migration, rebootless upgrades, and other use cases. CRIU works by dumping kernel objects and process data to disk, then restoring that data to recreate the processes. It has support for Linux processes, threads, memory mappings, files, sockets, namespaces and more. CRIU is tested on real applications and works to integrate with the Linux kernel and distributions.