The following non-standard-options are available.
-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
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.
-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
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.
-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
-Xms6291456
-Xms6144k
-Xms6m
-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
-Xmx83886080
-Xmx81920k
-Xmx80m
-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.
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
-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).
-XX:TargetSurvivorRatio=<value>
Set the desired percentage of survivor space used after scavenge.
Example
-XX:TargetSurvivorRatio=90 allows 90% of the survivor spaces to be occupied.
-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).