criu

Kerndat (Kernel Data)

Kerndat is a CRIU module responsible for detecting the capabilities and features of the currently running Linux kernel. Since CRIU’s functionality depends heavily on specific kernel system calls and behaviors, runtime detection is essential for ensuring compatibility and selecting the most efficient algorithms.

Feature Detection

CRIU performs a wide array of checks during initialization. These include:

The results of these checks are stored in a global kdat structure, which other CRIU modules query to determine how to proceed during dump and restore operations.

Persistent Caching

Executing hundreds of kernel feature checks can be time-consuming. To speed up subsequent CRIU invocations, the results are cached on disk.

Kerndat vs. Inventory

It is important to distinguish between kerndat and the inventory image (inventory.img):

Inspection

To see the features detected by CRIU on your current system, use the check command:

criu check --extra

This command triggers a kerndat initialization and prints the status of various required and optional kernel features, allowing you to verify that your environment is ready for CRIU.