Show TOC

Background documentationNon-standard Options Locate this document in the navigation structure

 

The following non-standard-options are available.

-X Options
  • -Xint

    Operate in interpreted-only mode. Compilation to native code is disabled, and all bytecodes are executed by the interpreter. The performance benefits offered by the SAP JVM's JIT compiler will not be present in this mode.

  • -Xmixed

    Execute methods in mixed (interpreted and compiled) mode.

  • -Xbootclasspath:<bootclasspath>

    Specify a semicolon-separated list of directories, JAR archives, and ZIP archives to search for boot class files. These are used in place of the boot class files included in the Java 2 SDK.

    Note Note

    Applications that use this option for the purpose of overriding a class in rt.jar should not be deployed as doing so would contravene the Java 2 Runtime Environment binary code license.

    End of the note.
  • -Xbootclasspath/a:<path>

    Specify a semicolon-separated path of directories, JAR archives, and ZIP archives to append to the default bootstrap class path.

  • -Xbootclasspath/p:<path>

    Specify a semicolon-separated path of directories, JAR archives, and ZIP archives to prepend in front of the default bootstrap class path.

    Note Note

    Applications that use this option for the purpose of overriding a class in rt.jar should not be deployed as doing so would contravene the Java 2 Runtime Environment binary code license.

    End of the note.
  • -Xcp/a:<path>

    Append the specified path to the class path.

  • -Xcp/ad:<dir>

    Append all jar files inside the specified directory to the class path.

  • -Xcp/p:<path>

    Prepend the specified path to the beginning of the class path.

  • -Xcp/pd:<dir>

    Prepend all jar files inside the specified directory to the class path.

  • -Xcheck:jni

    Perform additional checks for Java Native Interface (JNI) functions. Specifically, the Java Virtual Machine validates the parameters passed to the JNI function as well as the runtime environment data before processing the JNI request. Any invalid data encountered indicates a problem in the native code, and the Java Virtual Machine will terminate with a fatal error in such cases.

    Expect a performance degradation when this option is used.

  • -Xverify[:remote|all|none]

    Perform class verification only for remote classes loaded over network connections, for all loaded classes, or for no classes.

  • -Xfuture

    Perform strict class-file format checks.

    For purposes of backwards compatibility, the default format checks performed by the Java 2 SDK's virtual machine are no stricter than the checks performed by 1.1.x versions of the JDK software. The -Xfuture flag turns on stricter class-file format checks that enforce closer conformance to the class-file format specification.

    Developers are encouraged to use this flag when developing new code because the stricter checks will become the default in future releases of the Java application launcher.

  • -Xloggc:<file>

    Report on each garbage collection event, as with -verbose:gc, but log this data to file. In addition to the information -verbose:gc gives, each reported event will be preceeded by the time (in seconds) since the first garbage-collection event.

    Always use a local file system for storage of this file to avoid stalling the JVM due to network latency. The file may be truncated in the case of a full file system and logging will continue on the truncated file.

    This option overrides -verbose:gc if both are given on the command line.

  • -Xms<n>

    Specify the initial size, in bytes, of the memory allocation pool. This value must be a multiple of 1024 greater than 1MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 2MB.

    Example Example

    -Xms6291456

    -Xms6144k

    -Xms6m

    End of the example.
  • -Xmx<n>

    Specify the maximum size, in bytes, of the memory allocation pool. This value must be a multiple of 1024 greater than 2MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 64MB.

    Example Example

    -Xmx83886080

    -Xmx81920k

    -Xmx80m

    End of the example.
  • -Xmn<n>

    Set the initial/maximum Java new space size

  • -Xss<n>

    Set the Java thread stack size

  • -Xps<n>

    Set the maximum shared pool size

  • -Xjvmx

    Enable VM extensions, requires a VM instance number passed via -XsapSystem

  • -XsapSystem:<number>

    Set the VM's instance number

  • -XdebugPortRange:<from>[-<to>]

    Set range for debugger TCP ports.

  • -Xrun<libname>[:<options>]

    Load native agent library <libname>

  • -XbuildInfo

    Print out detailed build information and exit.

  • -XshowBuildInfo

    Print out detailed build information and continue.

  • -Xtrace<trace>

    Set trace flags. For more information about trace options, see Tracing

  • -XignoreUnrecognizedOptions

    Ignore unrecognized options when processing VM arguments. Command line options that are not recognized by the VM will not prevent the VM from starting up.

-XX Options

The following is a list of non-standard options of an SAP JVM. To get the full list of these options and their current (default) value, use the java –XX command.

  • -XX:CICompilerCount=<value>

    Set the number of compiler threads to run.

  • -XX:CompileThreshold=<value>

    Set the number of interpreted method invocations before the method will be (re-)compiled by the JIT compiler.

  • -XX:CompilerThreadStackSize=<value>

    Set the compiler thread stack size (in Kbytes).

  • -XX:{+-}DisableExplicitGC

    Disable the execution of a full GC when calling System.gc().

  • -XX:{+-}DumpDetailedClassStatisticOnOutOfMemory

    If this option is set, a detailed class statistic is dumped when the VM runs out of Java heap memory. Note that this is done only on the first OutOfMemoryError.

  • -XX:{+-}DumpGCHistoryOnOutOfMemory

    If this option is set, the stored GC history information is dumped when the VM runs out of Java heap memory. Note that this is done only on the first OutOfMemoryError.

  • -XX:{+-}EnableSharedSessionStore

    Enables the Shared Session Store. If the option -Xjvmx (see above) is given, this is enabled by default. Otherwise it is disabled by default..

  • -XX:{+-}FailOverToOldVerifier

    Fail over to the old bytecode verifier when the new split verifier fails.

  • -XX:GCHeapFreeLimit=<value>

    minimum percentage of free space after a full GC before an OutOfMemoryError is thrown (used with GCTimeLimit) Default value: 10.

  • -XX:GCTimeLimit=<value>

    limit of proportion of time spent in GC before an OutOfMemoryError is thrown (used with GCTimeLimit). Default value: 90

  • -XX:{+-}HeapDumpOnCtrlBreak

    Dump the Java heap memory to a file in Ctrl-Break handler.

  • -XX:{+-}HeapDumpOnOutOfMemoryError

    Dump the Java heap memory to a file when a java.lang.OutOfMemoryError is thrown.

  • -XX:HeapDumpPath=<value>

    When option HeapDumpOnOutOfMemoryError is enabled, this option defines the path (filename or directory) of the dump file (defaults to java_pid<pid>.hprof in the working directory)

  • -XX:{+-}HotSwap

    Allows hot swapping of java programs while debugging. This option is enabled by default, use option -XX:-HotSwap to switch it off explicitly.

  • -XX:LogGcMaxFileCount=<value>

    Set the maximum number of files to used for the GC log. A new GC log file is created when the VM is restarted or when the log file size exceeds the size given by option -XX:LogGcMaxFileSize.

  • -XX:LogGcMaxFileSize=<value>

    The maximum size of a GC log file in bytes. If the log file exceeds this size, a new log file is created. Old log files are kept up to a number specified by option –XX:LogGcMaxFileCount.

  • -XX:MaxErrorQueueLength=<value>

    Set the maximum number of entries in the error message queue.

  • -XX:MaxNewSize=<value>

    Set the maximum size of the new generation (in bytes). The bigger the young generation, the less often minor collections occur.

  • -XX:MaxPermSize=<value>

    Set the maximum size of permanent generation (in bytes).

  • -XX:MaxTenuringThreshold=<val>

    Set the maximum number of copies inside the young generation before promotion.

  • -XX:MaxVMs=<value>

    Set the maximum number of VMs, which can attach to the cluster.

  • -XX:NewRatio=<value>

    Set the ratio of new generation to old generation sizes. For example, setting -XX:NewRatio=3 means that the ratio between the old and young generation is 1:3, the combined size of eden and the survivor spaces will be one fourth of the heap.

  • -XX:NewSize=<value>

    Set the minimum size of the new generation (in bytes).

  • -XX:ParallelGCThreads=<value>

    Set the number of threads that will be used for parallel GC.

  • -XX:PermSize=<value>

    Set the number of threads that will be used for parallel GC.

  • -XX:PermSize=<value>

    Set the default size of the permanent generation (in bytes).

  • -XX:{+-}PrintClassHistogram

    Print a histogram of class instances.

  • -XX:{+-}PrintConcurrentLocks

    Print information about java.util.concurrent locks in triggered thread dumps.

  • -XX:{+-}PrintGC

    Print messages at garbage collection.

  • -XX:{+-}PrintGCDateStamps

    Print date stamps at garbage collection.

  • -XX:{+-}PrintGCDetails

    Print more details at garbage collection.

  • -XX:{+-}PrintGCTimeStamps

    Print timestamps at garbage collection.

  • -XX:ReservedCodeCacheSize=<value>

    Set the maximum size of the code cache (in bytes).

  • -XX:SoftRefLRUPolicyMSPerMB=<value>

    Set the eviction policy for soft references in number of milliseconds per MB of free space in the heap.

  • -XX:StackRedPagesIn4KBUnits=<value>

    Set the number of red zone (unrecoverable overflows) pages based on a page size of 4 Kbytes.

  • -XX:StackShadowPagesIn4KBUnits=<value>

    Set the number of shadow zone (for overflow checking) pages based on a page size of 4 Kbytes.

  • -XX:StackYellowPagesIn4KBUnits=<value>

    Set the number of yellow zone (recoverable overflows) pages based on a page size of 4 Kbytes.

  • -XX:{+-}StringInternTableInPermGen

    Put all interned strings into the permanent generation (default). If this is disabled, only string constants that are newly interned by class loading are put into the permanent generation, all others are put into the old generation (unless they are already in the permanent generation, of course).

  • -XX:SurvivorRatio=<value>

    Set the ratio of eden to survivor space size.

    Example Example

    -XX:SurvivorRatio=6 sets the ratio between each survivor space and eden to be 1:6. In other words, each survivor space will be one eighth of the young generation (not one seventh, because there are two survivor spaces).

    End of the example.
  • -XX:TargetSurvivorRatio=<value>

    Set the desired percentage of survivor space used after scavenge.

    Example Example

    -XX:TargetSurvivorRatio=90 allows 90% of the survivor spaces to be occupied.

    End of the example.
  • -XX:ThreadStackSize=<value>

    Set the thread stack size (in Kbytes).

  • -XX:{+-}TraceClassUnloading

    Enable trace output for unloading of classes.

  • -XX:{+-}UseConcMarkSweepGC

    Use the Concurrent Mark-Sweep GC in the old generation.

  • -XX:{+-}UseGCOverheadLimit

    use policy to limit of proportion of time spent in GC before an OutOfMemory error is thrown. Default value: +.

  • -XX:{+-}UseParNewGC

    Use parallel threads in the new generation garbage collection.

  • -XX:{+-}UseParallelGC

    Use the Parallel Scavenge garbage collector.

  • -XX:VMThreadStackSize=<value>

    Set the non-Java thread stack size (in Kbytes).

More Information

Standard Options