Skip to content

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


This option enables or disables the data collection by the interpreter profiler during a VM startup.


Setting Effect
-XX:+IProfileDuringStartupPhase Enable
-XX:-IProfileDuringStartupPhase Disable


The VM collects interpreter profiling data that is used to optimize methods at the time of JIT compilation. To reduce the CPU usage of the interpreter profiler during the startup phase, the VM stores such profiling data in the shared classes cache. During startup, the VM uses heuristics to determine when to turn on data collection and when to rely on the data that was collected by a previous VM and stored in the cache. You can overrule the heuristics and control the collection of the profiling information during the startup phase by using the -XX:[+|-]IProfileDuringStartupPhase option.

  • If the -XX:+IProfileDuringStartupPhase option is specified, the VM always collects the latest interpreter profiling information during startup and stores the information in the shared classes cache. By using this option, the quality of the generated code might increase, leading to better long-term throughput. But, this option might increase the startup time of applications.
  • If the -XX:-IProfileDuringStartupPhase option is specified, the VM does not collect interpreter profiling information during the startup phase. Use this option if the shared classes cache already contains sufficient interpreter profiling information and therefore, you don't have to collect new information and affect the startup time.

See also