Last week, I was looking for a complete list of the Java Hotspot JVM options. Problem : the information you may find on the web will mostly be related to -Xmx or -XX:MaxPermSize, and this is typically what I was not looking for :).
I found the Oracle Hotspot page where about 90 options are described, but I was not happy with it for there is more than 600 available options. So I downloaded the source of OpenJDK and extracted the relevant information. Please find here the complete list of every "product" JVM option.
These options are available as of Hotspot JVM 1.7.0_04.
The different types of option
The options listed in this article are extracted from the global configuration file "globals.hpp" of the Hotspot source. This file contains several types of options, among which :
product- These options are available in every JVM builddiagnostic- These options are available in every JVM build only if the option-XX:+UnlockDiagnosticVMOptionsis specifieddevelop- These options are only available in the debug JVM buildexperimental- These options are only available in the debug JVM build and can be used if the option-XX:+UnlockExperimentalVMOptionsis specified
In this article, I will only list the "product" JVM options in alphabetical order.
AdaptivePermSizeWeight
Type : Positive Integer
Default value : 20
Description : Weight for perm gen exponential resizing, between 0 and 100
AdaptiveSizeDecrementScaleFactor
Type : Positive Integer
Default value : 4
Description : Adaptive size scale down factor for shrinking
AdaptiveSizeMajorGCDecayTimeScale
Type : Positive Integer
Default value : 10
Description : Time scale over which major costs decay
AdaptiveSizePausePolicy
Type : Positive Integer
Default value : 0
Description : Policy for changing generation size for pause goals
AdaptiveSizePolicyCollectionCostMargin
Type : Positive Integer
Default value : 50
Description : If collection costs are within margin, reduce both by full delta
AdaptiveSizePolicyInitializingSteps
Type : Positive Integer
Default value : 20
Description : Number of steps where heuristics is used before data is used
AdaptiveSizePolicyOutputInterval
Type : Positive Integer
Default value : 0
Description : Collecton interval for printing information; zero => never
AdaptiveSizePolicyWeight
Type : Positive Integer
Default value : 10
Description : Weight given to exponential resizing, between 0 and 100
AdaptiveSizeThroughPutPolicy
Type : Positive Integer
Default value : 0
Description : Policy for changeing generation size for throughput goals
AdaptiveTimeWeight
Type : Positive Integer
Default value : 25
Description : Weight given to time in adaptive policy, between 0 and 100
AdjustConcurrency
Type : Boolean
Default value : false
Description : call thr_setconcurrency at thread create time to avoid LWP starvation on MP systems (For Solaris Only)
AggressiveOpts
Type : Boolean
Default value : false
Description : Enable aggressive optimizations - see arguments.cpp
AliasLevel
Type : Integer
Default value : 3
Description : 0 for no aliasing, 1 for oop/field/static/array split, 2 for class split, 3 for unique instances
AllocateInstancePrefetchLines
Type : Integer
Default value : 1
Description : Number of lines to prefetch ahead of instance allocation pointer
AllocatePrefetchDistance
Type : Integer
Default value : -1
Description : Distance to prefetch ahead of allocation pointer
AllocatePrefetchInstr
Type : Integer
Default value : 0
Description : Prefetch instruction to prefetch ahead of allocation pointer
AllocatePrefetchLines
Type : Integer
Default value : 3
Description : Number of lines to prefetch ahead of array allocation pointer
AllocatePrefetchStepSize
Type : Integer
Default value : 16
Description : Step size in bytes of sequential prefetch instructions
AllocatePrefetchStyle
Type : Integer
Default value : 1
Description : 0 = no prefetch, 1 = prefetch instructions for each allocation, 2 = use TLAB watermark to gate allocation prefetch, 3 = use BIS instruction on Sparc for allocation prefetch
AllowJNIEnvProxy
Type : Boolean
Default value : false
Description : Allow JNIEnv proxies for jdbx
AllowParallelDefineClass
Type : Boolean
Default value : false
Description : Allow parallel defineClass requests for class loaders registering as parallel capable
AllowUserSignalHandlers
Type : Boolean
Default value : false
Description : Do not complain if the application installs signal handlers (Solaris & Linux only)
AlwaysActAsServerClassMachine
Type : Boolean
Default value : false
Description : Always act like a server-class machine
AlwaysCompileLoopMethods
Type : Boolean
Default value : false
Description : when using recompilation, never interpret methods containing loops
AlwaysInflate
Type : Integer
Default value : 0
Description : (Unstable) Force inflation
AlwaysLockClassLoader
Type : Boolean
Default value : false
Description : Require the VM to acquire the class loader lock before calling loadClass() even for class loaders registering as parallel capable
AlwaysPreTouch
Type : Boolean
Default value : false
Description : It forces all freshly committed pages to be pre-touched.
AlwaysRestoreFPU
Type : Boolean
Default value : false
Description : Restore the FPU control word after every JNI call (expensive)
AlwaysTenure
Type : Boolean
Default value : false
Description : Always tenure objects in eden. (ParallelGC only)
AnonymousClasses
Type : Boolean
Default value : false
Description : support sun.misc.Unsafe.defineAnonymousClass (deprecated)
ArraycopyDstPrefetchDistance
Type : Positive Integer
Default value : 0
Description : Distance to prefetch destination array in arracopy
ArraycopySrcPrefetchDistance
Type : Positive Integer
Default value : 0
Description : Distance to prefetch source array in arracopy
AssertOnSuspendWaitFailure
Type : Boolean
Default value : false
Description : Assert/Guarantee on external suspend wait failure
Atomics
Type : Integer
Default value : 0
Description : (Unsafe,Unstable) Diagnostic - Controls emission of atomics
AutoGCSelectPauseMillis
Type : Positive Integer
Default value : 5000
Description : Automatic GC selection pause threshhold in ms
BCEATraceLevel
Type : Integer
Default value : 0
Description : How much tracing to do of bytecode escape analysis estimates
BaseFootPrintEstimate
Type : Positive Integer
Default value : 256*M
Description : Estimate of footprint other than Java Heap
BiasedLockingBulkRebiasThreshold
Type : Integer
Default value : 20
Description : Threshold of number of revocations per type to try to rebias all objects in the heap of that type
BiasedLockingBulkRevokeThreshold
Type : Integer
Default value : 40
Description : Threshold of number of revocations per type to permanently revoke biases of all objects in the heap of that type
BiasedLockingDecayTime
Type : Integer
Default value : 25000
Description : Decay time (in milliseconds) to re-enable bulk rebiasing of a type after previous bulk rebias
BiasedLockingStartupDelay
Type : Integer
Default value : 4000
Description : Number of milliseconds to wait before enabling biased locking
BindGCTaskThreadsToCPUs
Type : Boolean
Default value : false
Description : Bind GCTaskThreads to CPUs if possible
BlockCopyLowLimit
Type : Integer
Default value : 2048
Description : Minimum size in bytes when block copy will be used
BlockZeroingLowLimit
Type : Integer
Default value : 2048
Description : Minimum size in bytes when block zeroing will be used
BytecodeVerificationLocal
Type : Boolean
Default value : false
Description : Enables the Java bytecode verifier for local classes
BytecodeVerificationRemote
Type : Boolean
Default value : true
Description : Enables the Java bytecode verifier for remote classes
CICompilerCount
Type : Integer
Default value : --depends on your machine architecture--
Description : Number of compiler threads to run
CICompilerCountPerCPU
Type : Boolean
Default value : false
Description : 1 compiler thread for log(N CPUs)
CITime
Type : Boolean
Default value : false
Description : collect timing information for compilation
CMSAbortSemantics
Type : Boolean
Default value : false
Description : Whether abort-on-overflow semantics is implemented
CMSAbortablePrecleanMinWorkPerIteration
Type : Positive Integer
Default value : 100
Description : (Temporary, subject to experimentation) Nominal minimum work per abortable preclean iteration
CMSBitMapYieldQuantum
Type : Positive Integer
Default value : 10*M
Description : Bitmap operations should process at most this many bits between yields
CMSBootstrapOccupancy
Type : Positive Integer
Default value : 50
Description : Percentage CMS generation occupancy at which to initiate CMS collection for bootstrapping collection stats
CMSClassUnloadingEnabled
Type : Boolean
Default value : false
Description : Whether class unloading enabled when using CMS GC
CMSClassUnloadingMaxInterval
Type : Positive Integer
Default value : 0
Description : When CMS class unloading is enabled, the maximum CMS cycle count for which classes may not be unloaded
CMSCleanOnEnter
Type : Boolean
Default value : true
Description : Clean-on-enter optimization for reducing number of dirty cards
CMSCompactWhenClearAllSoftRefs
Type : Boolean
Default value : true
Description : Compact when asked to collect CMS gen with clear_all_soft_refs
CMSConcMarkMultiple
Type : Positive Integer
Default value : 32
Description : Size (in cards) of CMS concurrent MT marking task
CMSConcurrentMTEnabled
Type : Boolean
Default value : true
Description : Whether multi-threaded concurrent work enabled (if ParNewGC)
CMSCoordinatorYieldSleepCount
Type : Positive Integer
Default value : 10
Description : number of times the coordinator GC thread will sleep while yielding before giving up and resuming GC
CMSDumpAtPromotionFailure
Type : Boolean
Default value : false
Description : Dump useful information about the state of the CMS old generation upon a promotion failure.
CMSExpAvgFactor
Type : Positive Integer
Default value : 50
Description : Percentage (0-100) used to weight the current sample when computing exponential averages for CMS statistics.
CMSExtrapolateSweep
Type : Boolean
Default value : false
Description : CMS: cushion for block demand during sweep
CMSFullGCsBeforeCompaction
Type : Positive Integer
Default value : 0
Description : Number of CMS full collection done before compaction if > 0
CMSIncrementalDutyCycle
Type : Positive Integer
Default value : 10
Description : CMS incremental mode duty cycle (a percentage, 0-100). If CMSIncrementalPacing is enabled, then this is just the initial value
CMSIncrementalDutyCycleMin
Type : Positive Integer
Default value : 0
Description : Lower bound on the duty cycle when CMSIncrementalPacing is enabled (a percentage, 0-100)
CMSIncrementalMode
Type : Boolean
Default value : false
Description : Whether CMS GC should operate in incremental\ mode
CMSIncrementalOffset
Type : Positive Integer
Default value : 0
Description : Percentage (0-100) by which the CMS incremental mode duty cycle is shifted to the right within the period between young GCs
CMSIncrementalPacing
Type : Boolean
Default value : true
Description : Whether the CMS incremental mode duty cycle should be automatically adjusted
CMSIncrementalSafetyFactor
Type : Positive Integer
Default value : 10
Description : Percentage (0-100) used to add conservatism when computing the duty cycle
CMSIndexedFreeListReplenish
Type : Positive Integer
Default value : 4
Description : Replenish an indexed free list with this number of chunks
CMSInitiatingOccupancyFraction
Type : Integer
Default value : -1
Description : Percentage CMS generation occupancy to start a CMS collection cycle. A negative value means that CMSTriggerRatio is used
CMSInitiatingPermOccupancyFraction
Type : Integer
Default value : -1
Description : Percentage CMS perm generation occupancy to start a CMScollection cycle. A negative value means that CMSTriggerPermRatio is used
CMSIsTooFullPercentage
Type : Integer
Default value : 98
Description : An absolute ceiling above which CMS will always consider the perm gen ripe for collection
CMSLargeCoalSurplusPercent
Type : Double
Default value : 0.95
Description : CMS: the factor by which to inflate estimated demand of large block sizes to prevent coalescing with an adjoining block
CMSLargeSplitSurplusPercent
Type : Double
Default value : 1.00
Description : CMS: the factor by which to inflate estimated demand of large block sizes to prevent splitting to supply demand for smaller blocks
CMSLoopWarn
Type : Boolean
Default value : false
Description : Warn in case of excessive CMS looping
CMSMaxAbortablePrecleanLoops
Type : Positive Integer
Default value : 0
Description : (Temporary, subject to experimentation) Maximum number of abortable preclean iterations, if > 0
CMSMaxAbortablePrecleanTime
Type : Integer
Default value : 5000
Description : (Temporary, subject to experimentation) Maximum time in abortable preclean in ms
CMSOldPLABMax
Type : Positive Integer
Default value : 1024
Description : Max size of CMS gen promotion lab caches per worker per blksize
CMSOldPLABMin
Type : Positive Integer
Default value : 16
Description : Min size of CMS gen promotion lab caches per worker per blksize
CMSOldPLABNumRefills
Type : Positive Integer
Default value : 4
Description : Nominal number of refills of CMS gen promotion lab cache per worker per block size
CMSOldPLABReactivityCeiling
Type : Positive Integer
Default value : 10
Description : The clamping of the gain in the feedback loop for on-the-fly PLAB resizing during a scavenge
CMSOldPLABReactivityFactor
Type : Positive Integer
Default value : 2
Description : The gain in the feedback loop for on-the-fly PLAB resizing during a scavenge
CMSOldPLABResizeQuicker
Type : Boolean
Default value : false
Description : Whether to react on-the-fly during a scavenge to a sudden change in block demand rate
CMSOldPLABToleranceFactor
Type : Positive Integer
Default value : 4
Description : The tolerance of the phase-change detector for on-the-fly PLAB resizing during a scavenge
CMSPLABRecordAlways
Type : Boolean
Default value : true
Description : Whether to always record survivor space PLAB bdries (effective only if CMSParallelSurvivorRemarkEnabled)
CMSParPromoteBlocksToClaim
Type : Positive Integer
Default value : 16
Description : Number of blocks to attempt to claim when refilling CMS LAB for parallel GC.
CMSParallelRemarkEnabled
Type : Boolean
Default value : true
Description : Whether parallel remark enabled (only if ParNewGC)
CMSParallelSurvivorRemarkEnabled
Type : Boolean
Default value : true
Description : Whether parallel remark of survivor space enabled (effective only if CMSParallelRemarkEnabled)
CMSPermGenPrecleaningEnabled
Type : Boolean
Default value : true
Description : Whether concurrent precleaning enabled in perm gen (effective only when CMSPrecleaningEnabled is true)
CMSPrecleanDenominator
Type : Positive Integer
Default value : 3
Description : CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence ratio
CMSPrecleanIter
Type : Positive Integer
Default value : 3
Description : Maximum number of precleaning iteration passes
CMSPrecleanNumerator
Type : Positive Integer
Default value : 2
Description : CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence ratio
CMSPrecleanRefLists1
Type : Boolean
Default value : true
Description : Preclean ref lists during (initial) preclean phase
CMSPrecleanRefLists2
Type : Boolean
Default value : false
Description : Preclean ref lists during abortable preclean phase
CMSPrecleanSurvivors1
Type : Boolean
Default value : false
Description : Preclean survivors during (initial) preclean phase
CMSPrecleanSurvivors2
Type : Boolean
Default value : true
Description : Preclean survivors during abortable preclean phase
CMSPrecleanThreshold
Type : Positive Integer
Default value : 1000
Description : Don't re-iterate if #dirty cards less than this
CMSPrecleaningEnabled
Type : Boolean
Default value : true
Description : Whether concurrent precleaning enabled
CMSPrintChunksInDump
Type : Boolean
Default value : false
Description : In a dump enabled by CMSDumpAtPromotionFailure, include more detailed information about the free chunks.
CMSPrintObjectsInDump
Type : Boolean
Default value : false
Description : In a dump enabled by CMSDumpAtPromotionFailure, include more detailed information about the allocated objects.
CMSRemarkVerifyVariant
Type : Positive Integer
Default value : 1
Description : Choose variant (1,2) of verification following remark
CMSReplenishIntermediate
Type : Boolean
Default value : true
Description : Replenish all intermediate free-list caches
CMSRescanMultiple
Type : Positive Integer
Default value : 32
Description : Size (in cards) of CMS parallel rescan task
CMSRevisitStackSize
Type : Positive Integer
Default value : 1*M
Description : Size of CMS KlassKlass revisit stack
CMSSamplingGrain
Type : Positive Integer
Default value : 16*K
Description : The minimum distance between eden samples for CMS (see above)
CMSScavengeBeforeRemark
Type : Boolean
Default value : false
Description : Attempt scavenge before the CMS remark step
CMSScheduleRemarkEdenPenetration
Type : Positive Integer
Default value : 50
Description : The Eden occupancy % at which to try and schedule remark pause
CMSScheduleRemarkEdenSizeThreshold
Type : Positive Integer
Default value : 2*M
Description : If Eden used is below this value, don't try to schedule remark
CMSScheduleRemarkSamplingRatio
Type : Positive Integer
Default value : 5
Description : Start sampling Eden top at least before yg occupancy reaches 1/
CMSSmallCoalSurplusPercent
Type : Double
Default value : 1.05
Description : CMS: the factor by which to inflate estimated demand of small block sizes to prevent coalescing with an adjoining block
CMSSmallSplitSurplusPercent
Type : Double
Default value : 1.10
Description : CMS: the factor by which to inflate estimated demand of small block sizes to prevent splitting to supply demand for smaller blocks
CMSSplitIndexedFreeListBlocks
Type : Boolean
Default value : true
Description : When satisfying batched demand, split blocks from the IndexedFreeList whose size is a multiple of requested size
CMSTriggerPermRatio
Type : Integer
Default value : 80
Description : Percentage of MinHeapFreeRatio in the CMS perm generation that is allocated before a CMS collection cycle commences, that also collects the perm generation
CMSTriggerRatio
Type : Integer
Default value : 80
Description : Percentage of MinHeapFreeRatio in CMS generation that is allocated before a CMS collection cycle commences
CMSWorkQueueDrainThreshold
Type : Positive Integer
Default value : 10
Description : Don't drain below this size per parallel worker/thief
CMSYield
Type : Boolean
Default value : true
Description : Yield between steps of concurrent mark & sweep
CMSYieldSleepCount
Type : Positive Integer
Default value : 0
Description : number of times a GC thread (minus the coordinator) will sleep while yielding before giving up and resuming GC
CMS_FLSPadding
Type : Positive Integer
Default value : 1
Description : The multiple of deviation from mean to use for buffering against volatility in free list demand.
CMS_FLSWeight
Type : Positive Integer
Default value : 75
Description : Percentage (0-100) used to weight the current sample when computing exponentially decating averages for CMS FLS statistics.
CMS_SweepPadding
Type : Positive Integer
Default value : 1
Description : The multiple of deviation from mean to use for buffering against volatility in inter-sweep duration.
CMS_SweepTimerThresholdMillis
Type : Positive Integer
Default value : 10
Description : Skip block flux-rate sampling for an epoch unless inter-sweep duration exceeds this threhold in milliseconds
CMS_SweepWeight
Type : Positive Integer
Default value : 75
Description : Percentage (0-100) used to weight the current sample when computing exponentially decaying average for inter-sweep duration
CheckJNICalls
Type : Boolean
Default value : false
Description : Verify all arguments to JNI calls
ClassUnloading
Type : Boolean
Default value : true
Description : Do unloading of classes
ClipInlining
Type : Boolean
Default value : true
Description : clip inlining if aggregate method exceeds DesiredMethodLimit
CodeCacheFlushingMinimumFreeSpace
Type : Positive Integer
Default value : 1500*K
Description : When less than X space left, start code cache cleaning
CodeCacheMinimumFreeSpace
Type : Positive Integer
Default value : 500*K
Description : When less than X space left, we stop compiling.
CollectGen0First
Type : Boolean
Default value : false
Description : Collect youngest generation before each full GC
CompactFields
Type : Boolean
Default value : true
Description : Allocate nonstatic fields in gaps between previous fields
CompilationPolicyChoice
Type : Integer
Default value : 0
Description : which compilation policy (0/1)
CompileCommand
Type : String list (comma separated)
Default value : --empty value--
Description : Prepend to .hotspot_compiler; e.g. log,java/lang/String.
CompileCommandFile
Type : String
Default value : NULL
Description : Read compiler commands from this file [.hotspot_compiler]
CompileOnly
Type : String list (comma separated)
Default value : --empty value--
Description : List of methods (pkg/class.name) to restrict compilation to
CompilerThreadHintNoPreempt
Type : Boolean
Default value : true
Description : (Solaris only) Give compiler threads an extra quanta
CompilerThreadPriority
Type : Integer
Default value : -1
Description : The native priority at which compiler threads should run (-1 means no change)
ConcGCThreads
Type : Positive Integer
Default value : 0
Description : Number of threads concurrent gc will use
ConvertYieldToSleep
Type : Boolean
Default value : false
Description : Converts yield to a sleep of MinSleepInterval to simulate Win32 behavior (SOLARIS only)
CreateMinidumpOnCrash
Type : Boolean
Default value : false
Description : Create minidump on VM fatal error
CriticalJNINatives
Type : Boolean
Default value : true
Description : check for critical JNI entry points
DTraceAllocProbes
Type : Boolean
Default value : false
Description : Enable dtrace probes for object allocation
DTraceMethodProbes
Type : Boolean
Default value : false
Description : Enable dtrace probes for method-entry and method-exit
DTraceMonitorProbes
Type : Boolean
Default value : false
Description : Enable dtrace probes for monitor events
Debugging
Type : Boolean
Default value : false
Description : set when executing debug methods in debug.ccp (to prevent triggering assertions)
DefaultMaxRAMFraction
Type : Positive Integer
Default value : 4
Description : Maximum fraction (1/n) of real memory used for maximum heap size; deprecated: to be renamed to MaxRAMFraction
DefaultThreadPriority
Type : Integer
Default value : -1
Description : The native priority at which threads run if not elsewhere specified (-1 means no change)
DeferPollingPageLoopCount
Type : Integer
Default value : -1
Description : (Unsafe,Unstable) Number of iterations in safepoint loop before changing safepoint polling page to RO
DeferThrSuspendLoopCount
Type : Integer
Default value : 4000
Description : (Unstable) Number of times to iterate in safepoint loop before blocking VM threads
DeoptimizeRandom
Type : Boolean
Default value : false
Description : deoptimize random frames on random exit from the runtime system
DisableAttachMechanism
Type : Boolean
Default value : false
Description : Disable mechanism that allows tools to attach to this VM
DisableExplicitGC
Type : Boolean
Default value : false
Description : Tells whether calling System.gc() does a full GC
DisplayVMOutputToStderr
Type : Boolean
Default value : false
Description : If DisplayVMOutput is true, display all VM output to stderr
DisplayVMOutputToStdout
Type : Boolean
Default value : false
Description : If DisplayVMOutput is true, display all VM output to stdout
DontCompileHugeMethods
Type : Boolean
Default value : true
Description : don't compile methods > HugeMethodLimit
DumpSharedSpaces
Type : Boolean
Default value : false
Description : Special mode: JVM reads a class list, loads classes, builds shared spaces, and dumps the shared spaces to a file to be used in future JVM runs.
EagerXrunInit
Type : Boolean
Default value : false
Description : Eagerly initialize -Xrun libraries; allows startup profiling, but not all -Xrun libraries may support the state of the VM at this time
EmitSync
Type : Integer
Default value : 0
Description : (Unsafe,Unstable) Controls emission of inline sync fast-path code
ErgoHeapSizeLimit
Type : Positive Integer
Default value : 0
Description : Maximum ergonomically set heap size (in bytes); zero means use MaxRAM / MaxRAMFraction
ErrorFile
Type : String
Default value : NULL
Description : If an error occurs, save the error data to this file [default: ./hs_err_pid%p.log] (%p replaced with pid)
ErrorReportServer
Type : String
Default value : NULL
Description : Override built-in error report server address
EstimateArgEscape
Type : Boolean
Default value : true
Description : Analyze bytecodes to estimate escape state of arguments
EventLogLength
Type : Integer
Default value : 2000
Description : maximum nof events in event log
ExplicitGCInvokesConcurrent
Type : Boolean
Default value : false
Description : A System.gc() request invokes a concurrent collection; (effective only when UseConcMarkSweepGC)
ExplicitGCInvokesConcurrentAndUnloadsClasses
Type : Boolean
Default value : false
Description : A System.gc() request invokes a concurrent collection and also unloads classes during such a concurrent gc cycle (effective only when UseConcMarkSweepGC)
ExtendedDTraceProbes
Type : Boolean
Default value : false
Description : Enable performance-impacting dtrace probes
FLSAlwaysCoalesceLarge
Type : Boolean
Default value : false
Description : CMS: Larger free blocks are always available for coalescing
FLSCoalescePolicy
Type : Positive Integer
Default value : 2
Description : CMS: Aggression level for coalescing, increasing from 0 to 4
FLSLargestBlockCoalesceProximity
Type : Double
Default value : 0.99
Description : CMS: the smaller the percentage the greater the coalition force
FailOverToOldVerifier
Type : Boolean
Default value : true
Description : fail over to old verifier when split verifier fails
FastTLABRefill
Type : Boolean
Default value : true
Description : Use fast TLAB refill code
FenceInstruction
Type : Integer
Default value : 0
Description : (Unsafe,Unstable) Experimental
FieldsAllocationStyle
Type : Integer
Default value : 1
Description : 0 - type based with oops first, 1 - with oops last, 2 - oops in super and sub classes are together
FilterSpuriousWakeups
Type : Boolean
Default value : true
Description : Prevent spurious or premature wakeups from object.wait (Solaris only)
ForceNUMA
Type : Boolean
Default value : false
Description : Force NUMA optimizations on single-node/UMA systems
ForceTimeHighResolution
Type : Boolean
Default value : false
Description : Using high time resolution(For Win32 only)
GCDrainStackTargetSize
Type : Positive Integer
Default value : 64
Description : how many entries we'll try to leave on the stack during parallel GC
GCHeapFreeLimit
Type : Positive Integer
Default value : 2
Description : Minimum percentage of free space after a full GC before an OutOfMemoryError is thrown (used with GCTimeLimit)
GCLockerEdenExpansionPercent
Type : Positive Integer
Default value : 5
Description : How much the GC can expand the eden by while the GC locker is active (as a percentage)
GCLockerInvokesConcurrent
Type : Boolean
Default value : false
Description : The exit of a JNI CS necessitating a scavenge also kicks off a bkgrd concurrent collection
GCLogFileSize
Type : Positive Integer
Default value : 0
Description : GC log file size, Default: 0 bytes, no rotation Only valid with UseGCLogFileRotation
GCOverheadReporting
Type : Boolean
Default value : false
Description : Enables the GC overhead reporting facility
GCOverheadReportingPeriodMS
Type : Integer
Default value : 100
Description : Reporting period for conc GC overhead reporting, in ms
GCPauseIntervalMillis
Type : Positive Integer
Default value : 0
Description : Time slice for MMU specification
GCTaskTimeStampEntries
Type : Positive Integer
Default value : 200
Description : Number of time stamp entries per gc worker thread
GCTimeLimit
Type : Positive Integer
Default value : 98
Description : Limit of proportion of time spent in GC before an OutOfMemory error is thrown (used with GCHeapFreeLimit)
GCTimeRatio
Type : Positive Integer
Default value : 99
Description : Adaptive size policy application time to GC time ratio
HPILibPath
Type : String
Default value : NULL
Description : Specify alternate path to HPI library
HeapFirstMaximumCompactionCount
Type : Positive Integer
Default value : 3
Description : The collection count for the first maximum compaction
HeapMaximumCompactionInterval
Type : Positive Integer
Default value : 20
Description : How often should we maximally compact the heap (not allowing any dead space)
HeapSizePerGCThread
Type : Positive Integer
Default value : 64M
Description : Size of heap (bytes) per GC thread used in calculating the number of GC threads
IgnoreUnrecognizedVMOptions
Type : Boolean
Default value : false
Description : Ignore unrecognized VM options
InitialHeapSize
Type : Positive Integer
Default value : 0
Description : Initial heap size (in bytes); zero means OldSize + NewSize
InitialRAMFraction
Type : Positive Integer
Default value : 64
Description : Fraction (1/n) of real memory used for initial heap size
InitialSurvivorRatio
Type : Positive Integer
Default value : 8
Description : Initial ratio of eden/survivor space size
InitialTenuringThreshold
Type : Integer
Default value : 7
Description : Initial value for tenuring threshold
InitiatingHeapOccupancyPercent
Type : Positive Integer
Default value : 45
Description : Percentage of the (entire) heap occupancy to start a concurrent GC cycle. It us used by GCs that trigger a concurrent GC cycle based on the occupancy of the entire heap, not just one of the generations (e.g., G1). A value of 0 denotes 'do constant GC cycles'.
Inline
Type : Boolean
Default value : true
Description : enable inlining
InterpreterProfilePercentage
Type : Integer
Default value : 33
Description : NON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before profiling in the interpreter
JNIDetachReleasesMonitors
Type : Boolean
Default value : true
Description : JNI DetachCurrentThread releases monitors owned by thread
JavaMonitorsInStackTrace
Type : Boolean
Default value : true
Description : Print info. about Java monitor locks when the stacks are dumped
JavaPriority10_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority1_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority2_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority3_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority4_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority5_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority6_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority7_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority8_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
JavaPriority9_To_OSPriority
Type : Integer
Default value : -1
Description : Map Java priorities to OS priorities
LargePageHeapSizeThreshold
Type : Positive Integer
Default value : 128*M
Description : Use large pages if max heap is at least this big
LargePageSizeInBytes
Type : Positive Integer
Default value : 0
Description : Large page size (0 to let VM choose the page size
LazyBootClassLoader
Type : Boolean
Default value : true
Description : Enable/disable lazy opening of boot class path entries
ManagementServer
Type : Boolean
Default value : false
Description : Create JMX Management Server
MarkStackSize
Type : Positive Integer
Default value : --depends on your machine architecture--
Description : Size of marking stack
MarkStackSizeMax
Type : Positive Integer
Default value : --depends on your machine architecture--
Description : Max size of marking stack
MarkSweepAlwaysCompactCount
Type : Integer
Default value : 4
Description : How often should we fully compact the heap (ignoring the dead space parameters)
MarkSweepDeadRatio
Type : Positive Integer
Default value : 5
Description : Percentage (0-100) of the old gen allowed as dead wood. Serial mark sweep treats this as both the min and max value. CMS uses this value only if it falls back to mark sweep. Par compact uses a variable scale based on the density of the generation and treats this as the max value when the heap is either completely full or completely empty. Par compact also has a smaller default value; see arguments.cpp.
MaxBCEAEstimateLevel
Type : Integer
Default value : 5
Description : Maximum number of nested calls that are analyzed by BC EA.
MaxBCEAEstimateSize
Type : Integer
Default value : 150
Description : Maximum bytecode size of a method to be analyzed by BC EA.
MaxDirectMemorySize
Type : Integer
Default value : -1
Description : Maximum total size of NIO direct-buffer allocations
MaxFDLimit
Type : Boolean
Default value : true
Description : Bump the number of file descriptors to max in solaris.
MaxGCMinorPauseMillis
Type : Positive Integer
Default value : max_uintx
Description : Adaptive size policy maximum GC minor pause time goal in msec
MaxGCPauseMillis
Type : Positive Integer
Default value : max_uintx
Description : Adaptive size policy maximum GC pause time goal in msec, or (G1 Only) the max. GC time per MMU time slice
MaxHeapFreeRatio
Type : Positive Integer
Default value : 70
Description : Max percentage of heap free after GC to avoid shrinking
MaxHeapSize
Type : Positive Integer
Default value : 96M
Description : Maximum heap size (in bytes)
MaxInlineLevel
Type : Integer
Default value : 9
Description : maximum number of nested calls that are inlined
MaxInlineSize
Type : Integer
Default value : 35
Description : maximum bytecode size of a method to be inlined
MaxJavaStackTraceDepth
Type : Integer
Default value : 1024
Description : Max. no. of lines in the stack trace for Java exceptions (0 means all)
MaxNewSize
Type : Positive Integer
Default value : max_uintx
Description : Maximum new generation size (in bytes), max_uintx means set ergonomically
MaxPermHeapExpansion
Type : Positive Integer
Default value : 4M
Description : Max expansion of permanent heap without full GC (in bytes)
MaxRAMFraction
Type : Positive Integer
Default value : 4
Description : Maximum fraction (1/n) of real memory used for maximum heap size
MaxRecursiveInlineLevel
Type : Integer
Default value : 1
Description : maximum number of nested recursive calls that are inlined
MaxTenuringThreshold
Type : Integer
Default value : 15
Description : Maximum value for tenuring threshold
MaxTrivialSize
Type : Integer
Default value : 6
Description : maximum bytecode size of a trivial method to be inlined
MethodFlushing
Type : Boolean
Default value : true
Description : Reclamation of zombie and not-entrant methods
MinCodeCacheFlushingInterval
Type : Integer
Default value : 30
Description : Min number of seconds between code cache cleaning sessions
MinHeapDeltaBytes
Type : Positive Integer
Default value : 128K
Description : Min change in heap space due to GC (in bytes)
MinHeapFreeRatio
Type : Positive Integer
Default value : 40
Description : Min percentage of heap free after GC to avoid expansion
MinInliningThreshold
Type : Integer
Default value : 250
Description : min. invocation count a method needs to have to be inlined
MinPermHeapExpansion
Type : Positive Integer
Default value : 256K
Description : Min expansion of permanent heap (in bytes)
MinRAMFraction
Type : Positive Integer
Default value : 2
Description : Minimum fraction (1/n) of real memory used for maxmimum heap size on systems with small physical memory size
MinSurvivorRatio
Type : Positive Integer
Default value : 3
Description : Minimum ratio of young generation/survivor space size
MinTLABSize
Type : Positive Integer
Default value : 2*K
Description : Minimum allowed TLAB size (in bytes)
MonitorBound
Type : Integer
Default value : 0
Description : Bound Monitor population
MonitorInUseLists
Type : Boolean
Default value : false
Description : Track Monitors for Deflation
MustCallLoadClassInternal
Type : Boolean
Default value : false
Description : Call loadClassInternal() rather than loadClass()
NUMAChunkResizeWeight
Type : Integer
Default value : 20
Description : Percentage (0-100) used to weight the current sample when computing exponentially decaying average for AdaptiveNUMAChunkSizing
NUMAInterleaveGranularity
Type : Positive Integer
Default value : 2*M
Description : Granularity to use for NUMA interleaving on Windows OS
NUMAPageScanRate
Type : Integer
Default value : 256
Description : Maximum number of pages to include in the page scan procedure
NUMASpaceResizeRate
Type : Integer
Default value : 1*G
Description : Do not reallocate more that this amount per collection
NUMAStats
Type : Boolean
Default value : false
Description : Print NUMA stats in detailed heap information
NativeMonitorSpinLimit
Type : Integer
Default value : 20
Description : (Unstable) ) \ develop(bool, UsePthreads, false, Use pthread-based instead of libthread-based synchronization (SPARC only)
NeverTenure
Type : Boolean
Default value : false
Description : Never tenure objects in eden, May tenure on overflow (ParallelGC only)
NewRatio
Type : Integer
Default value : 2
Description : Ratio of new/old generation sizes
NewSize
Type : Positive Integer
Default value : 1M
Description : Initial new generation size (in bytes)
NmethodSweepCheckInterval
Type : Integer
Default value : 5
Description : Compilers wake up every n seconds to possibly sweep nmethods
NmethodSweepFraction
Type : Integer
Default value : 16
Description : Number of invocations of sweeper to cover all nmethods
NumberOfGCLogFiles
Type : Positive Integer
Default value : 0
Description : Number of gclog files in rotation, Default: 0, no rotation
OldPLABSize
Type : Positive Integer
Default value : 1024
Description : Size of old gen promotion labs (in HeapWords)
OldPLABWeight
Type : Positive Integer
Default value : 50
Description : Percentage (0-100) used to weight the current sample when computing exponentially decaying average for resizing CMSParPromoteBlocksToClaim.
OldSize
Type : Positive Integer
Default value : 4M
Description : Initial tenured generation size (in bytes)
OmitStackTraceInFastThrow
Type : Boolean
Default value : true
Description : Omit backtraces for some 'hot' exceptions in optimized code
OnError
Type : String list (comma separated)
Default value : --empty value--
Description : Run user-defined commands on fatal error; see VMError.cpp for examples
OnOutOfMemoryError
Type : String list (comma separated)
Default value : --empty value--
Description : Run user-defined commands on first java.lang.OutOfMemoryError
PLABWeight
Type : Positive Integer
Default value : 75
Description : Percentage (0-100) used to weight the current sample when computing exponentially decaying average for ResizePLAB.
PSChunkLargeArrays
Type : Boolean
Default value : true
Description : true: process large arrays in chunks
ParGCArrayScanChunk
Type : Integer
Default value : 50
Description : Scan a subset and push remainder, if array is bigger than this
ParGCDesiredObjsFromOverflowList
Type : Positive Integer
Default value : 20
Description : The desired number of objects to claim from the overflow list
ParGCTrimOverflow
Type : Boolean
Default value : true
Description : Eagerly trim the local overflow lists (when ParGCUseLocalOverflow
ParGCUseLocalOverflow
Type : Boolean
Default value : false
Description : Instead of a global overflow list, use local overflow stacks
ParallelGCBufferWastePct
Type : Integer
Default value : 10
Description : wasted fraction of parallel allocation buffer.
ParallelGCThreads
Type : Positive Integer
Default value : 0
Description : Number of parallel threads parallel gc will use
ParallelGCVerbose
Type : Boolean
Default value : false
Description : Verbose output for parallel GC.
ParallelOldDeadWoodLimiterMean
Type : Positive Integer
Default value : 50
Description : The mean used by the par compact dead wood limiter (a number between 0-100).
ParallelOldDeadWoodLimiterStdDev
Type : Positive Integer
Default value : 80
Description : The standard deviation used by the par compact dead wood limiter (a number between 0-100).
ParallelRefProcBalancingEnabled
Type : Boolean
Default value : true
Description : Enable balancing of reference processing queues
ParallelRefProcEnabled
Type : Boolean
Default value : false
Description : Enable parallel reference processing whenever possible
PausePadding
Type : Positive Integer
Default value : 1
Description : How much buffer to keep for pause time
PerBytecodeRecompilationCutoff
Type : Integer
Default value : 200
Description : Per-BCI limit on repeated recompilation (-1=>'Inf')
PerBytecodeTrapLimit
Type : Integer
Default value : 4
Description : Limit on traps (of one kind) at a particular BCI
PerMethodRecompilationCutoff
Type : Integer
Default value : 400
Description : After recompiling N times, stay in the interpreter (-1=>'Inf')
PerMethodTrapLimit
Type : Integer
Default value : 100
Description : Limit on traps (of one kind) in a method (includes inlines)
PerfAllowAtExitRegistration
Type : Boolean
Default value : false
Description : Allow registration of atexit() methods
PerfBypassFileSystemCheck
Type : Boolean
Default value : false
Description : Bypass Win32 file system criteria checks (Windows Only)
PerfDataMemorySize
Type : Integer
Default value : 32*K
Description : Size of performance data memory region. Will be rounded up to a multiple of the native os page size.
PerfDataSamplingInterval
Type : Integer
Default value : 50 /*ms*/
Description : Data sampling interval in milliseconds
PerfDataSaveFile
Type : String
Default value : NULL
Description : Save PerfData memory to the specified absolute pathname, %p in the file name if present will be replaced by pid
PerfDataSaveToFile
Type : Boolean
Default value : false
Description : Save PerfData memory to hsperfdata_
PerfDisableSharedMem
Type : Boolean
Default value : false
Description : Store performance data in standard memory
PerfMaxStringConstLength
Type : Integer
Default value : 1024
Description : Maximum PerfStringConstant string length before truncation
PermGenPadding
Type : Positive Integer
Default value : 3
Description : How much buffer to keep for perm gen sizing
PermMarkSweepDeadRatio
Type : Positive Integer
Default value : 20
Description : Percentage (0-100) of the perm gen allowed as dead wood. See MarkSweepDeadRatio for collector-specific comments.
PostSpinYield
Type : Boolean
Default value : true
Description : Yield after inner spinning loop
PreBlockSpin
Type : Integer
Default value : 10
Description : Number of times to spin in an inflated lock before going to an OS lock
PreSpinYield
Type : Boolean
Default value : false
Description : Yield before inner spinning loop
PrefetchCopyIntervalInBytes
Type : Integer
Default value : -1
Description : How far ahead to prefetch destination area (<= 0 means off)
PrefetchFieldsAhead
Type : Integer
Default value : -1
Description : How many fields ahead to prefetch in oop scan (<= 0 means off)
PrefetchScanIntervalInBytes
Type : Integer
Default value : -1
Description : How far ahead to prefetch scan area (<= 0 means off)
PreserveAllAnnotations
Type : Boolean
Default value : false
Description : Preserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotations
PreserveMarkStackSize
Type : Positive Integer
Default value : 1024
Description : Size for stack used in promotion failure handling
PretenureSizeThreshold
Type : Positive Integer
Default value : 0
Description : Maximum size in bytes of objects allocated in DefNew generation; zero means no maximum
PrintAdaptiveSizePolicy
Type : Boolean
Default value : false
Description : Print information about AdaptiveSizePolicy
PrintCMSInitiationStatistics
Type : Boolean
Default value : false
Description : Statistics for initiating a CMS collection
PrintCMSStatistics
Type : Integer
Default value : 0
Description : Statistics for CMS
PrintCommandLineFlags
Type : Boolean
Default value : false
Description : Print flags specified on command line or set by ergonomics
PrintCompilation
Type : Boolean
Default value : false
Description : Print compilations
PrintFLSCensus
Type : Integer
Default value : 0
Description : Census for CMS' FreeListSpace
PrintFLSStatistics
Type : Integer
Default value : 0
Description : Statistics for CMS' FreeListSpace
PrintFlagsFinal
Type : Boolean
Default value : false
Description : Print all VM flags after argument and ergonomic processing
PrintFlagsInitial
Type : Boolean
Default value : false
Description : Print all VM flags before argument processing and exit VM
PrintGCApplicationConcurrentTime
Type : Boolean
Default value : false
Description : Print the time the application has been running
PrintGCApplicationStoppedTime
Type : Boolean
Default value : false
Description : Print the time the application has been stopped
PrintGCTaskTimeStamps
Type : Boolean
Default value : false
Description : Print timestamps for individual gc worker thread tasks
PrintHeapAtSIGBREAK
Type : Boolean
Default value : true
Description : Print heap layout in response to SIGBREAK
PrintJNIGCStalls
Type : Boolean
Default value : false
Description : Print diagnostic message when GC is stalled by JNI critical section
PrintJNIResolving
Type : Boolean
Default value : false
Description : Used to implement -v:jni
PrintOldPLAB
Type : Boolean
Default value : false
Description : Print (old gen) promotion labs sizing decisions
PrintOopAddress
Type : Boolean
Default value : false
Description : Always print the location of the oop
PrintPLAB
Type : Boolean
Default value : false
Description : Print (survivor space) promotion labs sizing decisions
PrintParallelOldGCPhaseTimes
Type : Boolean
Default value : false
Description : Print the time taken by each parallel old gc phase. PrintGCDetails must also be enabled.
PrintPromotionFailure
Type : Boolean
Default value : false
Description : Print additional diagnostic information following promotion failure
PrintReferenceGC
Type : Boolean
Default value : false
Description : Print times spent handling reference objects during GC (enabled only when PrintGCDetails)
PrintRevisitStats
Type : Boolean
Default value : false
Description : Print revisit (klass and MDO) stack related information
PrintSafepointStatistics
Type : Boolean
Default value : false
Description : print statistics about safepoint synchronization
PrintSafepointStatisticsCount
Type : Integer
Default value : 300
Description : total number of safepoint statistics collected before printing them out
PrintSafepointStatisticsTimeout
Type : Integer
Default value : -1
Description : print safepoint statistics only when safepoint takes more than PrintSafepointSatisticsTimeout in millis
PrintSharedSpaces
Type : Boolean
Default value : false
Description : Print usage of shared spaces
PrintTLAB
Type : Boolean
Default value : false
Description : Print various TLAB related information
PrintTenuringDistribution
Type : Boolean
Default value : false
Description : Print tenuring age information
PrintTieredEvents
Type : Boolean
Default value : false
Description : Print tiered events notifications
PrintVMOptions
Type : Boolean
Default value : false
Description : Print flags that appeared on the command line
PrintVMQWaitTime
Type : Boolean
Default value : false
Description : Prints out the waiting time in VM operation queue
PrintWarnings
Type : Boolean
Default value : true
Description : Prints JVM warnings to output stream
ProcessDistributionStride
Type : Positive Integer
Default value : 4
Description : Stride through processors when distributing processes
ProfileIntervals
Type : Boolean
Default value : false
Description : Prints profiles for each interval (see ProfileIntervalsTicks)
ProfileIntervalsTicks
Type : Integer
Default value : 100
Description : # of ticks between printing of interval profile (+ProfileIntervals)
ProfileMaturityPercentage
Type : Integer
Default value : 20
Description : number of method invocations/branches (expressed as % of CompileThreshold) before using the method's profile
ProfileVM
Type : Boolean
Default value : false
Description : Profiles ticks that fall within VM (either in the VM Thread or VM code called through stubs)
ProfilerPrintByteCodeStatistics
Type : Boolean
Default value : false
Description : Prints byte code statictics when dumping profiler output
ProfilerRecordPC
Type : Boolean
Default value : false
Description : Collects tick for each 16 byte interval of compiled code
PromotedPadding
Type : Positive Integer
Default value : 3
Description : How much buffer to keep for promotion failure
QueuedAllocationWarningCount
Type : Integer
Default value : 0
Description : Number of times an allocation that queues behind a GC will retry before printing a warning
RangeCheckElimination
Type : Boolean
Default value : true
Description : Split loop iterations to eliminate range checks
ReadPrefetchInstr
Type : Integer
Default value : 0
Description : Prefetch instruction to prefetch ahead
ReadSpinIterations
Type : Integer
Default value : 100
Description : Number of read attempts before a yield (spin inner loop)
ReduceSignalUsage
Type : Boolean
Default value : false
Description : Reduce the use of OS signals in Java and/or the VM
RefDiscoveryPolicy
Type : Integer
Default value : 0
Description : Whether reference-based(0) or referent-based(1)
ReflectionWrapResolutionErrors
Type : Boolean
Default value : true
Description : Temporary flag for transition to AbstractMethodError wrapped in InvocationTargetException. See 6531596
RegisterFinalizersAtInit
Type : Boolean
Default value : true
Description : Register finalizable objects at end of Object.
RelaxAccessControlCheck
Type : Boolean
Default value : false
Description : Relax the access control checks in the verifier
RequireSharedSpaces
Type : Boolean
Default value : false
Description : Require shared spaces in the permanent generation
ResizeOldPLAB
Type : Boolean
Default value : true
Description : Dynamically resize (old gen) promotion labs
ResizePLAB
Type : Boolean
Default value : true
Description : Dynamically resize (survivor space) promotion labs
RestoreMXCSROnJNICalls
Type : Boolean
Default value : false
Description : Restore MXCSR when returning from JNI calls
SafepointSpinBeforeYield
Type : Integer
Default value : 2000
Description : (Unstable)
SafepointTimeout
Type : Boolean
Default value : false
Description : Time out and warn or fail after SafepointTimeoutDelay milliseconds if failed to reach safepoint
SafepointTimeoutDelay
Type : Integer
Default value : 10000
Description : Delay in milliseconds for option SafepointTimeout
ScavengeBeforeFullGC
Type : Boolean
Default value : true
Description : Scavenge youngest generation before each full GC, used with UseParallelGC
SelfDestructTimer
Type : Integer
Default value : 0
Description : Will cause VM to terminate after a given time (in minutes) (0 means off)
SharedDummyBlockSize
Type : Positive Integer
Default value : 512*M
Description : Size of dummy block used to shift heap addresses (in bytes)
SharedMiscCodeSize
Type : Positive Integer
Default value : 4*M
Description : Size of the shared code area adjacent to the heap (in bytes)
SharedMiscDataSize
Type : Positive Integer
Default value : --depends on your machine architecture--
Description : Size of the shared data area adjacent to the heap (in bytes)
SharedReadOnlySize
Type : Positive Integer
Default value : 10*M
Description : Size of read-only space in permanent generation (in bytes)
SharedReadWriteSize
Type : Positive Integer
Default value : --depends on your machine architecture--
Description : Size of read-write space in permanent generation (in bytes)
ShowMessageBoxOnError
Type : Boolean
Default value : false
Description : Keep process alive on VM fatal error
SoftRefLRUPolicyMSPerMB
Type : Integer
Default value : 1000
Description : Number of milliseconds per MB of free space in the heap
SplitIfBlocks
Type : Boolean
Default value : true
Description : Clone compares and control flow through merge points to fold some branches
StackTraceInThrowable
Type : Boolean
Default value : true
Description : Collect backtrace in throwable when exception happens
StartAttachListener
Type : Boolean
Default value : false
Description : Always start Attach Listener at VM startup
StarvationMonitorInterval
Type : Integer
Default value : 200
Description : Pause between each check in ms
StressLdcRewrite
Type : Boolean
Default value : false
Description : Force ldc -> ldc_w rewrite during RedefineClasses
StressTieredRuntime
Type : Boolean
Default value : false
Description : Alternate client and server compiler on compile requests
StringTableSize
Type : Positive Integer
Default value : 1009
Description : Number of buckets in the interned String table
SuppressFatalErrorMessage
Type : Boolean
Default value : false
Description : Do NO Fatal Error report [Avoid deadlock]
SurvivorPadding
Type : Positive Integer
Default value : 3
Description : How much buffer to keep for survivor overflow
SurvivorRatio
Type : Integer
Default value : 8
Description : Ratio of eden/survivor space size
SuspendRetryCount
Type : Integer
Default value : 50
Description : Maximum retry count for an external suspend request
SuspendRetryDelay
Type : Integer
Default value : 5
Description : Milliseconds to delay per retry (* current_retry_count)
SyncKnobs
Type : String
Default value : NULL
Description : (Unstable) Various monitor synchronization tunables
TLABAllocationWeight
Type : Positive Integer
Default value : 35
Description : Allocation averaging weight
TLABRefillWasteFraction
Type : Positive Integer
Default value : 64
Description : Max TLAB waste at a refill (internal fragmentation)
TLABSize
Type : Positive Integer
Default value : 0
Description : Starting TLAB size (in bytes); zero means set ergonomically
TLABStats
Type : Boolean
Default value : true
Description : Print various TLAB related information
TLABWasteIncrement
Type : Positive Integer
Default value : 4
Description : Increment allowed waste at slow allocation
TLABWasteTargetPercent
Type : Positive Integer
Default value : 1
Description : Percentage of Eden that can be wasted
TargetPLABWastePct
Type : Integer
Default value : 10
Description : target wasted space in last buffer as pct of overall allocation
TargetSurvivorRatio
Type : Integer
Default value : 50
Description : Desired percentage of survivor space used after scavenge
TenuredGenerationSizeIncrement
Type : Positive Integer
Default value : 20
Description : Adaptive size percentage change in tenured generation
TenuredGenerationSizeSupplement
Type : Positive Integer
Default value : 80
Description : Supplement to TenuredGenerationSizeIncrement used at startup
TenuredGenerationSizeSupplementDecay
Type : Positive Integer
Default value : 2
Description : Decay factor to TenuredGenerationSizeIncrement
ThreadPriorityPolicy
Type : Integer
Default value : 0
Description : 0 : Normal. VM chooses priorities that are appropriate for normal applications. On Solaris NORM_PRIORITY and above are mapped to normal native priority. Java priorities below NORM_PRIORITY map to lower native priority values. On Windows applications are allowed to use higher native priorities. However, with ThreadPriorityPolicy=0, VM will not use the highest possible native priority, THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with system threads. On Linux thread priorities are ignored because the OS does not support static priority in SCHED_OTHER scheduling class which is the only choice for non-root, non-realtime applications. 1 : Aggressive. Java thread priorities map over to the entire range of native thread priorities. Higher Java thread priorities map to higher native thread priorities. This policy should be used with care, as sometimes it can cause performance degradation in the application and/or the entire system. On Linux this policy requires root privilege.
ThreadPriorityVerbose
Type : Boolean
Default value : false
Description : Print priority changes
ThreadSafetyMargin
Type : Positive Integer
Default value : 50*M
Description : Thread safety margin is used on fixed-stack LinuxThreads (on Linux/x86 only) to prevent heap-stack collision. Set to 0 to disable this feature
ThresholdTolerance
Type : Positive Integer
Default value : 10
Description : Allowed collection cost difference between generations
Tier0BackedgeNotifyFreqLog
Type : Integer
Default value : 10
Description : Interpreter (tier 0) invocation notification frequency.
Tier0InvokeNotifyFreqLog
Type : Integer
Default value : 7
Description : Interpreter (tier 0) invocation notification frequency.
Tier0ProfilingStartPercentage
Type : Integer
Default value : 200
Description : Start profiling in interpreter if the counters exceed tier 3 thresholds by the specified percentage
Tier23InlineeNotifyFreqLog
Type : Integer
Default value : 20
Description : Inlinee invocation (tiers 2 and 3) notification frequency
Tier2BackEdgeThreshold
Type : Integer
Default value : 0
Description : Back edge threshold at which tier 2 compilation is invoked
Tier2BackedgeNotifyFreqLog
Type : Integer
Default value : 14
Description : C1 without MDO (tier 2) invocation notification frequency.
Tier2CompileThreshold
Type : Integer
Default value : 0
Description : threshold at which tier 2 compilation is invoked
Tier2InvokeNotifyFreqLog
Type : Integer
Default value : 11
Description : C1 without MDO (tier 2) invocation notification frequency.
Tier3BackEdgeThreshold
Type : Integer
Default value : 60000
Description : Back edge threshold at which tier 3 OSR compilation is invoked
Tier3BackedgeNotifyFreqLog
Type : Integer
Default value : 13
Description : C1 with MDO profiling (tier 3) invocation notification frequency.
Tier3CompileThreshold
Type : Integer
Default value : 2000
Description : Threshold at which tier 3 compilation is invoked (invocation minimum must be satisfied.
Tier3DelayOff
Type : Integer
Default value : 2
Description : If C2 queue size is less than this amount per compiler thread allow methods compiled at tier 2 transition to tier 3
Tier3DelayOn
Type : Integer
Default value : 5
Description : If C2 queue size grows over this amount per compiler thread stop compiling at tier 3 and start compiling at tier 2
Tier3InvocationThreshold
Type : Integer
Default value : 200
Description : Compile if number of method invocations crosses this threshold
Tier3InvokeNotifyFreqLog
Type : Integer
Default value : 10
Description : C1 with MDO profiling (tier 3) invocation notification frequency.
Tier3LoadFeedback
Type : Integer
Default value : 5
Description : Tier 3 thresholds will increase twofold when C1 queue size reaches this amount per compiler thread
Tier3MinInvocationThreshold
Type : Integer
Default value : 100
Description : Minimum invocation to compile at tier 3
Tier4BackEdgeThreshold
Type : Integer
Default value : 40000
Description : Back edge threshold at which tier 4 OSR compilation is invoked
Tier4CompileThreshold
Type : Integer
Default value : 15000
Description : Threshold at which tier 4 compilation is invoked (invocation minimum must be satisfied.
Tier4InvocationThreshold
Type : Integer
Default value : 5000
Description : Compile if number of method invocations crosses this threshold
Tier4LoadFeedback
Type : Integer
Default value : 3
Description : Tier 4 thresholds will increase twofold when C2 queue size reaches this amount per compiler thread
Tier4MinInvocationThreshold
Type : Integer
Default value : 600
Description : Minimum invocation to compile at tier 4
TieredCompileTaskTimeout
Type : Integer
Default value : 50
Description : Kill compile task if method was not used within given timeout in milliseconds
TieredRateUpdateMaxTime
Type : Integer
Default value : 25
Description : Maximum rate sampling interval (in milliseconds)
TieredRateUpdateMinTime
Type : Integer
Default value : 1
Description : Minimum rate sampling interval (in milliseconds)
TieredStopAtLevel
Type : Integer
Default value : 4
Description : Stop at given compilation level
TraceBiasedLocking
Type : Boolean
Default value : false
Description : Trace biased locking in JVM
TraceClassLoadingPreorder
Type : Boolean
Default value : false
Description : Trace all classes loaded in order referenced (not loaded)
TraceClassResolution
Type : Boolean
Default value : false
Description : Trace all constant pool resolutions (for debugging)
TraceDynamicGCThreads
Type : Boolean
Default value : false
Description : Trace the dynamic GC thread usage
TraceGen0Time
Type : Boolean
Default value : false
Description : Trace accumulated time for Gen 0 collection
TraceGen1Time
Type : Boolean
Default value : false
Description : Trace accumulated time for Gen 1 collection
TraceJVMTI
Type : String
Default value : NULL
Description : Trace flags for JVMTI functions and events
TraceMonitorInflation
Type : Boolean
Default value : false
Description : Trace monitor inflation in JVM
TraceParallelOldGCTasks
Type : Boolean
Default value : false
Description : Trace multithreaded GC activity
TraceRedefineClasses
Type : Integer
Default value : 0
Description : Trace level for JVMTI RedefineClasses
TraceSafepointCleanupTime
Type : Boolean
Default value : false
Description : print the break down of clean up tasks performed during safepoint
TraceSuspendWaitFailures
Type : Boolean
Default value : false
Description : Trace external suspend wait failures
TransmitErrorReport
Type : Boolean
Default value : false
Description : Enable error report transmission on erroneous termination
TypeProfileMajorReceiverPercent
Type : Integer
Default value : 90
Description : % of major receiver type to all profiled receivers
TypeProfileWidth
Type : Integer
Default value : 2
Description : number of receiver types to record in call/cast profile
UnguardOnExecutionViolation
Type : Integer
Default value : 0
Description : Unguard page and retry on no-execute fault (Win32 only) 0=off, 1=conservative, 2=aggressive
UnlinkSymbolsALot
Type : Boolean
Default value : false
Description : unlink unreferenced symbols from the symbol table at safepoints
Use486InstrsOnly
Type : Boolean
Default value : false
Description : Use 80486 Compliant instruction subset
UseAVX
Type : Integer
Default value : 99
Description : Highest supported AVX instructions set on x86/x64
UseAdaptiveGCBoundary
Type : Boolean
Default value : false
Description : Allow young-old boundary to move
UseAdaptiveGenerationSizePolicyAtMajorCollection
Type : Boolean
Default value : true
Description : Use adaptive young-old sizing policies at major collections
UseAdaptiveGenerationSizePolicyAtMinorCollection
Type : Boolean
Default value : true
Description : Use adaptive young-old sizing policies at minor collections
UseAdaptiveNUMAChunkSizing
Type : Boolean
Default value : true
Description : Enable adaptive chunk sizing for NUMA
UseAdaptiveSizeDecayMajorGCCost
Type : Boolean
Default value : true
Description : Adaptive size decays the major cost for long major intervals
UseAdaptiveSizePolicy
Type : Boolean
Default value : true
Description : Use adaptive generation sizing policies
UseAdaptiveSizePolicyFootprintGoal
Type : Boolean
Default value : true
Description : Use adaptive minimum footprint as a goal
UseAdaptiveSizePolicyWithSystemGC
Type : Boolean
Default value : false
Description : Use statistics from System.GC for adaptive size policy
UseAddressNop
Type : Boolean
Default value : false
Description : Use '0F 1F [addr]' NOP instructions on x86 cpus
UseAltSigs
Type : Boolean
Default value : false
Description : Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM internal signals (Solaris only)
UseAutoGCSelectPolicy
Type : Boolean
Default value : false
Description : Use automatic collection selection policy
UseBiasedLocking
Type : Boolean
Default value : true
Description : Enable biased locking in JVM
UseBlockCopy
Type : Boolean
Default value : false
Description : Use special cpu instructions for block copy
UseBlockZeroing
Type : Boolean
Default value : false
Description : Use special cpu instructions for block zeroing
UseBoundThreads
Type : Boolean
Default value : true
Description : Bind user level threads to kernel threads (for SOLARIS only)
UseCBCond
Type : Boolean
Default value : false
Description : Use compare and branch instruction on SPARC
UseCMSBestFit
Type : Boolean
Default value : true
Description : Use CMS best fit allocation strategy
UseCMSCollectionPassing
Type : Boolean
Default value : true
Description : Use passing of collection from background to foreground
UseCMSCompactAtFullCollection
Type : Boolean
Default value : true
Description : Use mark sweep compact at full collections
UseCMSInitiatingOccupancyOnly
Type : Boolean
Default value : false
Description : Only use occupancy as a crierion for starting a CMS collection
UseCodeCacheFlushing
Type : Boolean
Default value : true
Description : Attempt to clean the code cache before shutting off compiler
UseCompiler
Type : Boolean
Default value : true
Description : use compilation
UseCompilerSafepoints
Type : Boolean
Default value : true
Description : Stop at safepoints in compiled code
UseConcMarkSweepGC
Type : Boolean
Default value : false
Description : Use Concurrent Mark-Sweep GC in the old generation
UseCondCardMark
Type : Boolean
Default value : false
Description : Check for already marked card before updating card table
UseCountLeadingZerosInstruction
Type : Boolean
Default value : false
Description : Use count leading zeros instruction
UseCounterDecay
Type : Boolean
Default value : true
Description : adjust recompilation counters
UseDynamicNumberOfGCThreads
Type : Boolean
Default value : false
Description : Dynamically choose the number of parallel threads parallel gc will use
UseFastAccessorMethods
Type : Boolean
Default value : true
Description : Use fast method entry code for accessor methods
UseFastEmptyMethods
Type : Boolean
Default value : true
Description : Use fast method entry code for empty methods
UseFastJNIAccessors
Type : Boolean
Default value : true
Description : Use optimized versions of Get
UseG1GC
Type : Boolean
Default value : false
Description : Use the Garbage-First garbage collector
UseGCLogFileRotation
Type : Boolean
Default value : false
Description : Prevent large gclog file for long running app. Requires -Xloggc:
UseGCOverheadLimit
Type : Boolean
Default value : true
Description : Use policy to limit of proportion of time spent in GC before an OutOfMemory error is thrown
UseGCTaskAffinity
Type : Boolean
Default value : false
Description : Use worker affinity when asking for GCTasks
UseHeavyMonitors
Type : Boolean
Default value : false
Description : use heavyweight instead of lightweight Java monitors
UseInlineCaches
Type : Boolean
Default value : true
Description : Use Inline Caches for virtual calls
UseInterpreter
Type : Boolean
Default value : true
Description : Use interpreter for non-compiled methods
UseLWPSynchronization
Type : Boolean
Default value : true
Description : Use LWP-based instead of libthread-based synchronization (SPARC only)
UseLoopCounter
Type : Boolean
Default value : true
Description : Increment invocation counter on backward branch
UseMaximumCompactionOnSystemGC
Type : Boolean
Default value : true
Description : In the Parallel Old garbage collector maximum compaction for a system GC
UseNUMA
Type : Boolean
Default value : false
Description : Use NUMA if available
UseNUMAInterleaving
Type : Boolean
Default value : false
Description : Interleave memory across NUMA nodes if available
UseNewLongLShift
Type : Boolean
Default value : false
Description : Use optimized bitwise shift left
UseNiagaraInstrs
Type : Boolean
Default value : false
Description : Use Niagara-efficient instruction subset
UsePPCLWSYNC
Type : Boolean
Default value : true
Description : Use lwsync instruction if true, else use slower sync
UsePSAdaptiveSurvivorSizePolicy
Type : Boolean
Default value : true
Description : Use adaptive survivor sizing policies
UseParNewGC
Type : Boolean
Default value : false
Description : Use parallel threads in the new generation.
UseParallelGC
Type : Boolean
Default value : false
Description : Use the Parallel Scavenge garbage collector
UseParallelOldGC
Type : Boolean
Default value : false
Description : Use the Parallel Old garbage collector
UsePerfData
Type : Boolean
Default value : falseInEmbedded
Description : Flag to disable jvmstat instrumentation for performance testing and problem isolation purposes.
UsePopCountInstruction
Type : Boolean
Default value : false
Description : Use population count instruction
UseSSE42Intrinsics
Type : Boolean
Default value : false
Description : SSE4.2 versions of intrinsics
UseSSE
Type : Integer
Default value : 99
Description : Highest supported SSE instructions set on x86/x64
UseSerialGC
Type : Boolean
Default value : false
Description : Use the serial garbage collector
UseSharedSpaces
Type : Boolean
Default value : true
Description : Use shared spaces in the permanent generation
UseSignalChaining
Type : Boolean
Default value : true
Description : Use signal-chaining to invoke signal handlers installed by the application (Solaris & Linux only)
UseSpinning
Type : Boolean
Default value : false
Description : Use spinning in monitor inflation and before entry
UseSplitVerifier
Type : Boolean
Default value : true
Description : use split verifier with StackMapTable attributes
UseStoreImmI16
Type : Boolean
Default value : true
Description : Use store immediate 16-bits value instruction on x86
UseStringCache
Type : Boolean
Default value : false
Description : Enable String cache capabilities on String.java
UseTypeProfile
Type : Boolean
Default value : true
Description : Check interpreter profile for historically monomorphic calls
UseUnalignedLoadStores
Type : Boolean
Default value : false
Description : Use SSE2 MOVDQU instruction for Arraycopy
UseVIS
Type : Integer
Default value : 99
Description : Highest supported VIS instructions set on Sparc
UseVMInterruptibleIO
Type : Boolean
Default value : false
Description : (Unstable, Solaris-specific) Thread interrupt before or with EINTR for I/O operations results in OS_INTRPT. The default value of this flag is true for JDK 6 and earlier
UseXMMForArrayCopy
Type : Boolean
Default value : false
Description : Use SSE2 MOVQ instruction for Arraycopy
UseXmmI2D
Type : Boolean
Default value : false
Description : Use SSE2 CVTDQ2PD instruction to convert Integer to Double
UseXmmI2F
Type : Boolean
Default value : false
Description : Use SSE2 CVTDQ2PS instruction to convert Integer to Float
UseXmmLoadAndClearUpper
Type : Boolean
Default value : true
Description : Load low part of XMM register and clear upper part
UseXmmRegToRegMoveAll
Type : Boolean
Default value : false
Description : Copy all XMM register bits when moving value between registers
VMThreadHintNoPreempt
Type : Boolean
Default value : false
Description : (Solaris only) Give VM thread an extra quanta
VMThreadPriority
Type : Integer
Default value : -1
Description : The native priority at which the VM thread should run (-1 means no change)
VerifyMergedCPBytecodes
Type : Boolean
Default value : true
Description : Verify bytecodes after RedefineClasses constant pool merging
YoungGenerationSizeIncrement
Type : Positive Integer
Default value : 20
Description : Adaptive size percentage change in young generation
YoungGenerationSizeSupplement
Type : Positive Integer
Default value : 80
Description : Supplement to YoungedGenerationSizeIncrement used at startup
YoungGenerationSizeSupplementDecay
Type : Positive Integer
Default value : 8
Description : Decay factor to YoungedGenerationSizeSupplement
YoungPLABSize
Type : Positive Integer
Default value : 4096
Description : Size of young gen promotion labs (in HeapWords)
ZeroTLAB
Type : Boolean
Default value : false
Description : Zero out the newly created TLAB
indice s'il vous plaît :)
RépondreSupprimermaybe worth adding info about UseCompressedOops (not sure if it's oracle only)
RépondreSupprimer@TheMesaMilieu : ?
RépondreSupprimer@OlegYch : Indeed, thanks for your comment ! For now, the only options listed are those available for 32 and 64 bits JVM, I will add soon the 64-bits-only options.
Great! Would be nice if you can put this together in a PDF?
RépondreSupprimerHi Jugal
RépondreSupprimerThanks for your comment. Why not a PDF, indeed, but I'm not sure to see the advantages of having that format as this page can be saved for offline viewing.
By the way, I created a new (way better) version here : http://jvm-options.tech.xebia.fr/. I think you will like it !