> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CRaC Command-Line Options

## CRaC engines

The CRaC engine is the component responsible for performing checkpoint and restore operations.

There are currently two engines available in production mode:

### CRIU

The first one is based on a standard Linux feature called CRIU (Checkpoint/Restore In Userspace). This is the default
engine.

### WARP

WARP is a CRIU-independent engine designed by Azul especially for CRaC. This engine is only available for x86\_64
architecture.

Using WARP engine can be enabled with VM option `-XX:CRaCEngine=warp`.

<Warning>
  When you specify an engine, you must set it in both start and restore command lines.
</Warning>

We recommend to use the WARP engine rather than the default CRIU engine. Indeed, the CRIU engine must be run as root
user (as described in the
[official documentation](https://docs.azul.com/core/crac/crac-debugging.html#failures-in-native-checkpoint-or-restore)),
while WARP engine does not require any additional privileges.

You can find more information about CRaC engines in the
[official documentation](https://docs.azul.com/core/crac/crac-engines).

## VM options

Lots of VM arguments can be set to fine-tune CRaC behavior, such as selecting the engine.

For instance, you can choose whether the application should keep running after a checkpoint with the following argument:
`-XX:CRaCEngineOptions=keep_running=<true/false>`.<br />
By default, the application stops after checkpointing.

See all the options in the [official documentation](https://docs.azul.com/core/crac/crac-vm-options).
