Java HotSpot Equivalents of Exact VM Flags

This page is of interest to users of versions of the Java SDK on Solaris older than 1.3.0.

Prior to version 1.3.0, the production releases of the Java 2 SDK for Solaris shipped with a virtual-machine implementation known as the Exact VM (EVM). Beginning with version 1.3.0, the Exact VM was replaced by the Java HotSpot VM.

Java HotSpot VM Equivalents of Exact VM Options

Some options supported by the Exact VM have changed names or become obsolete in the Java HotSpot VM. These EVM options and their Java HotSpot VM equivalents are given in the following table.

EVM Option Description Java HotSpot equivalent
-XtInstruction tracingNone (obsolete option)
-XtmMethod tracingNone (obsolete option)
-XossMaximum java stack sizeNone (HotSpot doesn't have separate native and Java stacks)
-XverifyheapVerify heap integrity

(-XX:+VerifyTLAB in J2SE 1.4)
-XX:+VerifyAfterScavenge (all debug only)
-XmaxjitcodesizeMaximum Comiled code size -Xmaxjitcodesize<num> (used to be -Xmaxjitcodesize=32m, now -Xmaxjitcodesize32m)
-XoptimizeUse optimizing JIT Compiler -server
-XconcgcUse concurrent garbage collector (1.2.2_07+) -XX:+UseConcMarkSweepGC (available beginning with J2SE 1.4.1)

The Java HotSpot VM currently recognizes the following -X options that were not supported by the Exact VM.

Option Description
-XincgcUse Train GC
-XnoincgcDo not use Train Garbage Collection (default)
-XX:MaxHeapFreeRatio=<Maximum>heap free percentage (default 70)
-XX:MinHeapFreeRatio=<Minimum>heap free percentage (default 40)
-XintIntepreter only (no JIT Compilation)
-XX:+UseBoundThreadsBind user level threads (Solaris only)
-Xmn<Size>Set the size of the young generation (available beginning in J2SE 1.4.0)
-XX:+UseParallelGCUse parallel garbage collection (available beginning in J2SE 1.4.1)
-XX:+UseAltSigsOn the Solaris operating environment, the VM uses SIGUSR1 by default, which can sometimes conflict with applications that signal-chain SIGUSR1. -XX:+UseAltSigs will cause the VM to use signals other than SIGUSR1 and SIGUSR2 as the default. Available beginning in J2SE 1.4.1 on the Solaris operating environment.

Java HotSpot VM Equivalents to _JIT_ARGS Environment Variables Most _JIT_ARGS environment variables are internal debugging options only and have no corresponding Java HotSpot options. Most simply turn off some form of optimization which may have caused instability when first introduced and could be used by the internal testing group to track down problems.

_JIT_ARGS Environment HotSpot Option Description
jit/jbe-client/-serverjbe is the same as -Xoptimize in 1.2 based systems, jit is the default. Use -server in 1.3 to replace -Xoptimize (or jbe) in 1.2.
trace-XX:+PrintCompilationtraces methods as compiled
V8/V9-XX:+UseV8InstrsOnlyDone autmatically on both systems, force architecture using these flags (Sparc/debug only)

Java HotSpot VM Equivalents _JVM_ARGS Environment Variables

_JVM_ARGS Environment HotSpot Option Description
bound_threads-XX:+UseBoundThreadsThis option forces all threads to be created as bound threads.

-XX:MaxNewSize=<size> for 1.3
-Xmn<size> for 1.4
Disable young generation resizing. To do this on HotSpot, simply set the size of the young generation to a constant.
gc_stats-verbose:gcTurns on various forms of gc statistics gathering.
inline_instrs-XX:MaxInlineSize=<size>Integer specifying maximum number of bytecode instructions in a method which gets inlined.
 -XX:FreqInlineSize=<size>Integer specifying maximum number of bytecode instructions in a frequently executed method which gets inlined.
inline_print-XX:+PrintInliningPrint message about inlined methods (debug only)
yield_interval-XX:DontYieldALotInterval=<ms>(debug only) Interval in milliseconds between yields.