Skip to content

CAUTION: This site hosts draft documentation for the next release. For published content of the latest release, visit


(Linux® only)

When the OpenJ9 VM is idle, this option controls the minimum length of time that the VM must be idle before the state of the VM is set to idle. When the state changes to idle, a garbage collection cycle runs, the object heap is compacted, and free memory pages are released back to the operating system, which reduces the footprint of the VM. Garbage collection and compaction are controlled by the -XX:+IdleTuningGcOnIdle and -XX:+IdleTuningCompactOnIdle options, which are enabled by default when the OpenJ9 VM is running inside a docker container. (Note that from OpenJ9 version 0.23.0 the -XX:+IdleTuningCompactOnIdle option has no effect.)

Restrictions: This option applies only to Linux architectures when the Generational Concurrent (gencon) garbage collection policy is in use. This option is not effective if the object heap is configured to use large pages.


Setting Value Default Default when running in a docker container
<secs> [0 or greater] 0 180

The value used for <secs> specifies the minimum length of time in seconds that the VM is idle before the state is set to idle. Idle tuning is enabled by default when the OpenJ9 VM is running in a docker container and the VM is detected as idle for 180 seconds.

Setting the value to 0 disables this feature, which causes the following idle tuning options to have no effect:

  • -XX:+IdleTuningCompactOnIdle
  • -XX:+IdleTuningGcOnIdle
  • -XX:IdleTuningMinFreeHeapOnIdle

See also