Skip to content

CAUTION: This site hosts draft documentation for the next release. For published content of the latest release, visit www.eclipse.org/openj9/docs

-Dorg.eclipse.openj9.criu.ImmutableEnvVars

This system property specifies the environment variables that you want to add to the ImmutableEnvVars list.

Restrictions: This option takes effect only when the -XX:+EnableCRIUSupport option is enabled. This option can be used only during the checkpoint phase.

Syntax

    -Dorg.eclipse.openj9.criu.ImmutableEnvVars=<environment_variables>

Where <environment_variables> is a comma-separated list of environment variables. For example:

-Dorg.eclipse.openj9.criu.ImmutableEnvVars=INVOKED,WLP_USER_DIR,WLP_OUTPUT_DIR,LOG_DIR,X_LOG_DIR,LOG_FILE,X_LOG_FILE,VARIABLE_SOURCE_DIRS,X_CMD

The following environment variables are included in the list by default and cannot be removed:

  • LANG
  • LC_ALL
  • LC_CTYPE

Explanation

The environment variables are a property of the operating system environment and not the VM. The VM considers these properties as immutable and does not allow the environment variables to change values between checkpoint and restore.

During the checkpoint and restore phases, the VM can detect the environment variables that are in the immutableEnvvars list. You can add any other immutable variables that you want the VM to detect in the ImmutableEnvVars list with the -Dorg.eclipse.openj9.criu.ImmutableEnvVars option. If an environment variable is not in the list, the VM does not detect that variable even if the underlying system has defined it. These environment variables exist for the entire lifetime of the VM (checkpoint and restore).

At restore, the VM can also detect the environment variables that are added through the CRIUSupport.registerRestoreEnvVariables API.

For more information about how environment variables are handled during the checkpoint and restore process, see the Environment Variables section in the OpenJ9 CRIU Support: A look under the hood (part II) blog post.

See also