-Xtune
This option is used to configure settings on Eclipse OpenJ9™ VM to tune performance. The different -Xtune options are used to optimize the VM for a specific performance objective by adjusting a set of internal heuristics.
Syntax
-Xtune:<parameter>
Parameters
| Parameter | Effect |
|---|---|
footprint |
Minimizes OpenJ9 VM memory usage |
quickstart |
Causes the JIT compiler to run with a subset of optimizations |
throughput |
Increases resource utilization to maximize throughput |
virtualized |
Reduces OpenJ9 VM CPU consumption when idle |
Note: These parameters are mutually exclusive and if these parameters are used together, the last one that is specified in the command-line takes precedence.
footprint
-Xtune:footprint
- Optimizes Eclipse OpenJ9 VM function by minimizing OpenJ9 VM memory usage. When
-Xtune:footprintis specified, the VM adjusts its internal heuristics to reduce memory consumption, possibly at the expense of other performance metrics.
quickstart
-Xtune:quickstart
- Causes the JIT compiler to run with a subset of optimizations, which can improve the performance of short-running applications.
-Xtune:quickstartis an alias of-Xquickstart.
throughput
-Xtune:throughput
- Increases resource utilization to maximize throughput. When this option is used, the VM will change its internal heuristics to favor throughput over other performance metrics. In particular, if not explicitly provided, the initial heap size (
-Xms) is set to the maximum heap size value (-Xmx). Moreover, the JIT internally sets some options to optimize the code more aggressively.
virtualized
-Xtune:virtualized
- Optimizes Eclipse OpenJ9 VM function for virtualized environments, such as a cloud, by reducing OpenJ9 VM CPU consumption.
- Note: The effect of
-Xtune:virtualizedis maximized when a large shared classes cache (SCC) is provided and the AOT space in the SCC is not capped. - This option is recommended for CPU-constrained environments, such as those found in cloud deployments that use containers. Internally, the option makes the JIT compiler more conservative with inlining and recompilation decisions, which saves CPU resources. The Garbage Collector also reduces the rate of heap expansion, which reduces the memory footprint. These changes to reduce the amount of CPU that is consumed are at the expense of a small loss in throughput.
- When
-Xtune:virtualizedis used along with the-Xshareclassesoption, the JIT compiler is more aggressive with its use of AOT-compiled code compared to setting only-Xshareclasses. This action provides additional CPU savings during application start-up and ramp-up, but might come at the expense of an additional small loss in throughput. - For an example of the effect of using this option, see Measuring the strengths of OpenJDK with Eclipse OpenJ9.