-XX:CRaCCheckpointTo=<value> |
Directory path where the checkpoint must be created. The value is required.
To store the checkpoint in an S3-compatible bucket (only available with the Warp CRaC engine), set the <value> to, for example, s3://bucket/some-key . See Using CRaC on Amazon Web Services (AWS) > S3 Storage |
|
|
-XX:CRaCRestoreFrom=<value> |
The directory path where the CRaC image is stored which must be used for the restore. It replaces the initializing virtual machine on successful restore. The value is required.
You can optionally pass the name of a new main class and its arguments when using this option. In such a case, the new main method will be invoked with the specified arguments by the thread that initiated the checkpoint, after all CRaC resources have been successfully processed. Check Restoring With New Arguments for more info. |
|
|
-XX:CRaCEngine=<value> |
Integrated engines in Zulu:
-
criu : Engine using Linux CRIU (Checkpoint/Restore In Userspace).
-
warp : Engine which doesn’t require any additional capabilities, neither for checkpoint nor for restore.
-
simengine and pauseengine : Simulation engines used for development purposes only.
For more information, see CRaC Engines. |
On Linux:
criu
On macOS and Windows:
simengine |
|
-XX:CRaCEngineOptions=<value> |
A comma-delimited list of key=value to specify the behavior of the selected CRaC engine.
Use the value help , in the exact format -XX:CRaCEngineOptions=help , to get the full list of available options for the selected CRaCEngine . This will let the JVM print the list of supported options and exit.
More info about the available options is documented below for the CRIU and Warp engines. |
null |
|
-XX:CRaCMinPid=<value> |
The minimal PID value for a process that is restored. See Debugging Coordinated Restore at Checkpoint Failures > Using the CRaCMinPid Option.
The default value is 128 only if the Java process is started with PID 1 (e.g., in a container). For processes started with a different PID, the PID is not adjusted unless this option is set. |
128 |
|
-XX:+/-CRaCResetStartTime |
Reset JVM’s start time and uptime on restore. |
true |
|
-XX:+/-CRaCIgnoreRestoreIfUnavailable |
If the checkpoint image specified for the restore (with -XX:CRaCRestoreFrom ) is identified as being unusable, the JVM will continue with the normal startup instead of failing. Enabling this option does not guarantee that the normal startup will follow any failed restore attempt, it only covers an early image/environment verification.
Available in Azul Zulu 25 and October 2025 releases: When restoring with this option, you should specify a main class and its arguments as usual. If the CRaC restore succeeds, these arguments are ignored, but if the restore fails, they are used for the normal startup process. See Transparent Restore or Startup for more info. |
false |
|
-XX:CRaCIgnoredFileDescriptors=<value> |
Comma-separated list of file descriptor numbers or paths. All the file descriptors greater than 2 (stdin, stdout and stderr are excluded automatically), that are not in this list, are closed when the VM starts. |
null |
|
-XX:+/-CRaCAllowToSkipCheckpoint |
Allow the implementation to not call the Checkpoint if the helper can not be found. |
false |
|
-XX:CRaCAllowedOpenFilePrefixes=<value> |
List of path prefixes for files that can be open during the checkpoint. CRaC won’t throw an error upon detecting these and leaves the handling up to the Checkpoint/Restore engine. This option applies only to files opened by native code. For files opened by Java code use -Djdk.crac.resource-policies=… . |
/var/lib/sss/mc/ (on Linux)
|
|
-XX:+/-CRaCHeapDumpOnCheckpointException |
Dump the heap when a CheckpointException is thrown because of a failing CRaC precondition. |
false |
|
-XX:+/-CRaCPrintResourcesOnCheckpoint |
Print the resources used to decide on a CheckpointException. This is a diagnostic feature and must be preceded with -XX:+UnlockDiagnosticVMOptions . |
false |
|
-XX:+/-CRaCTraceStartupTime |
|
false |
|
-XX:+/-CRaCDoThrowCheckpointException |
Throw CheckpointException if resource handle is found that can’t be checkpointed. |
true |
|
-XX:+/-CRaCPauseOnCheckpointError |
Pauses the checkpoint when a problem is found on the JVM level. |
false |
|
-XX:CRaCMaxHeapSizeBeforeCheckpoint=<value> |
The maximum size of the heap before the checkpoint. By default, this equals to -Xmx . |
0 |
|
-XX:CPUFeatures=<value> |
The CPU feature set. Use -XX:CPUFeatures=0xnumber with -XX:CRaCCheckpointTo when you get an error during -XX:CRaCRestoreFrom on a different machine (with another architecture).
This option is only available on x86.
-
native is the default (and fastest)
-
ignore disables the CPU features check
-
generic is compatible but slower compared to native
|
native |
|
-XX:+/-ShowCPUFeatures |
Show the features of this CPU to be possibly used for the -XX:CPUFeatures=0xnumber option.
This option is only available on x86. |
false |
|
-XX:+/-IgnoreCPUFeatures |
EXPERIMENTAL! Flag defining to continue to run after -XX:CRaCRestoreFrom finds out some CPU features are missing.
This option is only available on x86. |
false |
|