Standard JRE Options

This content is now also available on our website http://harmony.apache.org/cmd_options.html

To get the list of standard JRE options, run DRLVM with the -help option:

java -help

Non-standard JRE Options

To get the list of non-standard JRE options, run DRLVM with the -X option:

java -X

Component-specific Options and Properties

(since revision r552672, (Jul 03, 2007))

VM Core (vm/vmcore)

OPTIONS{{ }}

COMMENTS

-XX:-vm.assert_dialog

Use to prevent assertion failures from popping up a dialog box.

-XX:+vm.crash_handler

Use to invoke gdb on crashes (POSIX only).

-XX:-vm.finalize

Use to disable finalization subsystem, that is, not to start finalization threads and to ignore finalization requests from the GC.

-XX:+vm.jvmti_compiled_method_load_inlined

Use to report inlined methods with JVMTI_EVENT_COMPILED_METHOD_LOAD event. Makes sense for optimizing jit.

-XX:+vm_bootclasspath_appendclasspath

Use to append classpath to the bootclasspath.

-XX:gc.dll=<GC_DLL>

Use to run DRLVM with non-default GC taken from GC_DLL dynamic library.

EM (Execution Manager)

OPTIONS{{ }}

COMMENTS

-Xverbose:em

A commonly-used options to print method compilation events to stdout. Helps detect which method failed to compile (not an EM option, but very informative at EM behavior). This option is available in debug build only.

-Xem:<config>

Specify Execution Manager configuration file to use. There is a set of predefined configuration files (client, server, opt, jet - please see below). You may also define your own EM configuration file.

-Xem:client

Use optimization sequence for client applications (default EM configuration).

-Xem:server

Use optimization sequence for server applications ('server' mode execution - analogous to java -server in HotSpot).

-Xem:jet

Use fast-compiling non-optimizing JIT only (Jitrino.JET).

-Xem:opt

Use aggressively optimising JIT compiler only (Jitrino.OPT).

-XX:em.dll=<dll>

Use to specify DRLVM-execution manager (EM) dll to load at startup.

-XX:em.jitPath=<path>

Use to override the default path for all JIT dlls in EM.conf with path.

-XX:em.JIT_NAME.jitPath=<path>

Use to override the default path for JIT_NAME JIT dll in EM.conf with path.

-XX:em.properties=<path>

Sets up a path to em configuration file to use.

Jitrino

OPTIONS{{ }}

COMMENTS

-XX:jit.arg.log=<log_type>

This enables compilation logging for the Jitrino.OPT JIT compiler. log_type - a comma-separated list of the logging types to enable (see below the examples).

-XX:jit.arg.log=rt

Turnes ON all runtime logging.

-XX:jit.arg.log=ct,dbg

Turns ON compile-time logging and debug information.

-XX:jit.arg.log=ct,irdump,dotdump,info

Does a full compile-time logging for Jitrino (warning: takes much disk space).

-XX:jit.p.filter=.main -XX:jit.p.arg.log=ct,irdump,dotdump

Enables a compile-time logging for methods having names started with main.

-XX:jit.p.filter=java/lang/Math. -XX:jit.p.arg.log=ct,irdump,dotdump

Enables logging for all methods of a single class.

-XX:jit.arg.codegen.iprof=on

Enables internal profiler dumps (iprof.stat) in Jitrino.OPT (needs iprof.cfg).

Thread Manager

OPTIONS{{ }}

COMMENTS

-XX:+thread.soft_unreservation

Turns ON soft lock unreservation.

GCv5 (vm/gc_gen)

OPTIONS{{ }}

COMMENTS

-XX:gc.nos_size=N

Specifies a fixed size for NOS (nursery object space or young generation).

-XX:gc.num_collectors=N

Specifies the number of collectors used for collections for parallel collection.

-XX:+gc.use_large_page

Use to turn on large page support of the platform.

-XX:+gc.verify

Use to turn on GC verifier for GC debugging, type to see available options.

-XX:+gc.force_major_collect

Use to force every collection to be full heap collection (i.e., no minor collections).

-XX:+gc.ignore_finref

Disables processing finalizer and weak references.

-XX:-gc.heap_iteration

Disables JVMTI functionality of heap iteration.

GCv41 (vm/gc_cc)

OPTIONS{{ }}

COMMENTS

-verbose:gc

Use to enable init messages from GC and information about GC pauses.

-XX:-gc.adaptive

Use to disable adaptive selection between GC algorithms: copying and sliding compaction.

-XX:gc.type=N

Use to specify the number of the GC algorithm to use (use together with -Dgc.adaptive=0). Available algorithms: 1.copying + fallback to sliding compaction; 2.full collection using sliding compaction; 3.sliding compaction.

-XX:+gc.heap_iteration

Enables JVMTI functionality of heap iteration.

-XX:+gc.ignore_finalizers

Use to ignore finalizable objects, that is, not to track reachability of finalizable object, not to revive them and not to pass revived objects to VM for finalization.

-XX:+gc.lp

Use to turn on large page support on Windows to utilize TLB more efficiently. Use -verbose:gc.lp for more diagnostics.

-XX:gc.lp=/mnt/huge

Use on Linux to enable (1) or disable (0) using of large pages to utilize TLB more efficiently. Huge pages are allocated with the 1mmap1 method. You should specify the mount point where hugetlbfs is mounted. Use -verbose:gc.lp for more diagnostics.

-XX:+gc.remember_root_set

Use to enable a root-set caching mode. By default, the copying collector starts evacuating objects as soon as it starts receiving roots during root set enumeration. This option disables immediate evacuation and ensures no objects are moved until the root-set enumeration is complete.

BuildTest

COMMAND{{ }}

COMMENTS

ant smoke.test -Dtest.mode=jit -Dtest.vmargs="-Xem:server_static"

Run all smoke tests in JIT server_static mode

ant smoke.test -Dtest.mode=jit -Dtest.vmargs="-Xem:server_static" -Dtest.case=A

Run a a single test case from smoke tests in JIT server_static mode

  • No labels