Close

Print list of all -XX JVM options

[Updated: Feb 11, 2016, Created: Feb 11, 2016]

Java JVM Options 

Starting from java 1.6 you can use java -XX:+PrintFlagsFinal to print available -XX options and their value.

c:>java -XX:+PrintFlagsFinal -version
[Global flags]
ccstrlist AOTLibrary = {product} {default}
uintx AdaptiveSizeDecrementScaleFactor = 4 {product} {default}
uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product} {default}
uintx AdaptiveSizePolicyCollectionCostMargin = 50 {product} {default}
uintx AdaptiveSizePolicyInitializingSteps = 20 {product} {default}
uintx AdaptiveSizePolicyOutputInterval = 0 {product} {default}
uintx AdaptiveSizePolicyWeight = 10 {product} {default}
uintx AdaptiveSizeThroughPutPolicy = 0 {product} {default}
uintx AdaptiveTimeWeight = 25 {product} {default}
bool AggressiveOpts = false {product} {default}
intx AliasLevel = 3 {C2 product} {default}
bool AlignVector = false {C2 product} {default}
intx AllocateInstancePrefetchLines = 1 {product} {default}
intx AllocatePrefetchDistance = 192 {product} {default}
intx AllocatePrefetchInstr = 3 {product} {default}
intx AllocatePrefetchLines = 4 {product} {default}
intx AllocatePrefetchStepSize = 64 {product} {default}
intx AllocatePrefetchStyle = 1 {product} {default}
bool AllowJNIEnvProxy = false {product} {default}
bool AllowNonVirtualCalls = false {product} {default}
bool AllowParallelDefineClass = false {product} {default}
bool AllowUserSignalHandlers = false {product} {default}
bool AllowVectorizeOnDemand = true {C2 product} {default}
bool AlwaysActAsServerClassMachine = false {product} {default}
bool AlwaysCompileLoopMethods = false {product} {default}
bool AlwaysLockClassLoader = false {product} {default}
bool AlwaysPreTouch = false {product} {default}
bool AlwaysRestoreFPU = false {product} {default}
bool AlwaysTenure = false {product} {default}
intx ArrayCopyLoadStoreMaxElem = 8 {C2 product} {default}
bool AssertOnSuspendWaitFailure = false {product} {default}
bool AssumeMP = false {product} {default}
intx AutoBoxCacheMax = 128 {C2 product} {default}
uintx AutoGCSelectPauseMillis = 5000 {product} {default}
intx BCEATraceLevel = 0 {product} {default}
bool BackgroundCompilation = true {pd product} {default}
size_t BaseFootPrintEstimate = 268435456 {product} {default}
intx BiasedLockingBulkRebiasThreshold = 20 {product} {default}
intx BiasedLockingBulkRevokeThreshold = 40 {product} {default}
intx BiasedLockingDecayTime = 25000 {product} {default}
intx BiasedLockingStartupDelay = 4000 {product} {default}
bool BindGCTaskThreadsToCPUs = false {product} {default}
bool BlockLayoutByFrequency = true {C2 product} {default}
intx BlockLayoutMinDiamondPercentage = 20 {C2 product} {default}
bool BlockLayoutRotateLoops = true {C2 product} {default}
bool BranchOnRegister = false {C2 product} {default}
bool BytecodeVerificationLocal = false {product} {default}
bool BytecodeVerificationRemote = true {product} {default}
bool C1OptimizeVirtualCallProfiling = true {C1 product} {default}
bool C1ProfileBranches = true {C1 product} {default}
bool C1ProfileCalls = true {C1 product} {default}
bool C1ProfileCheckcasts = true {C1 product} {default}
bool C1ProfileInlinedCalls = true {C1 product} {default}
bool C1ProfileVirtualCalls = true {C1 product} {default}
bool C1UpdateMethodData = true {C1 product} {default}
intx CICompilerCount = 4 {product} {ergonomic}
bool CICompilerCountPerCPU = true {product} {default}
bool CITime = false {product} {default}
bool CMSAbortSemantics = false {product} {default}
uintx CMSAbortablePrecleanMinWorkPerIteration = 100 {product} {default}
intx CMSAbortablePrecleanWaitMillis = 100 {manageable} {default}
size_t CMSBitMapYieldQuantum = 10485760 {product} {default}
uintx CMSBootstrapOccupancy = 50 {product} {default}
bool CMSClassUnloadingEnabled = true {product} {default}
uintx CMSClassUnloadingMaxInterval = 0 {product} {default}
bool CMSCleanOnEnter = true {product} {default}
size_t CMSConcMarkMultiple = 32 {product} {default}
bool CMSConcurrentMTEnabled = true {product} {default}
uintx CMSCoordinatorYieldSleepCount = 10 {product} {default}
bool CMSEdenChunksRecordAlways = true {product} {default}
uintx CMSExpAvgFactor = 50 {product} {default}
bool CMSExtrapolateSweep = false {product} {default}
uintx CMSIncrementalSafetyFactor = 10 {product} {default}
uintx CMSIndexedFreeListReplenish = 4 {product} {default}
intx CMSInitiatingOccupancyFraction = -1 {product} {default}
uintx CMSIsTooFullPercentage = 98 {product} {default}
double CMSLargeCoalSurplusPercent = 0.950000 {product} {default}
double CMSLargeSplitSurplusPercent = 1.000000 {product} {default}
bool CMSLoopWarn = false {product} {default}
uintx CMSMaxAbortablePrecleanLoops = 0 {product} {default}
intx CMSMaxAbortablePrecleanTime = 5000 {product} {default}
size_t CMSOldPLABMax = 1024 {product} {default}
size_t CMSOldPLABMin = 16 {product} {default}
uintx CMSOldPLABNumRefills = 4 {product} {default}
uintx CMSOldPLABReactivityFactor = 2 {product} {default}
bool CMSOldPLABResizeQuicker = false {product} {default}
uintx CMSOldPLABToleranceFactor = 4 {product} {default}
bool CMSPLABRecordAlways = true {product} {default}
bool CMSParallelInitialMarkEnabled = true {product} {default}
bool CMSParallelRemarkEnabled = true {product} {default}
bool CMSParallelSurvivorRemarkEnabled = true {product} {default}
uintx CMSPrecleanDenominator = 3 {product} {default}
uintx CMSPrecleanIter = 3 {product} {default}
uintx CMSPrecleanNumerator = 2 {product} {default}
bool CMSPrecleanRefLists1 = true {product} {default}
bool CMSPrecleanRefLists2 = false {product} {default}
bool CMSPrecleanSurvivors1 = false {product} {default}
bool CMSPrecleanSurvivors2 = true {product} {default}
uintx CMSPrecleanThreshold = 1000 {product} {default}
bool CMSPrecleaningEnabled = true {product} {default}
bool CMSPrintChunksInDump = false {product} {default}
bool CMSPrintObjectsInDump = false {product} {default}
uintx CMSRemarkVerifyVariant = 1 {product} {default}
bool CMSReplenishIntermediate = true {product} {default}
size_t CMSRescanMultiple = 32 {product} {default}
uintx CMSSamplingGrain = 16384 {product} {default}
bool CMSScavengeBeforeRemark = false {product} {default}
uintx CMSScheduleRemarkEdenPenetration = 50 {product} {default}
size_t CMSScheduleRemarkEdenSizeThreshold = 2097152 {product} {default}
uintx CMSScheduleRemarkSamplingRatio = 5 {product} {default}
double CMSSmallCoalSurplusPercent = 1.050000 {product} {default}
double CMSSmallSplitSurplusPercent = 1.100000 {product} {default}
bool CMSSplitIndexedFreeListBlocks = true {product} {default}
intx CMSTriggerInterval = -1 {manageable} {default}
uintx CMSTriggerRatio = 80 {product} {default}
intx CMSWaitDuration = 2000 {manageable} {default}
uintx CMSWorkQueueDrainThreshold = 10 {product} {default}
bool CMSYield = true {product} {default}
uintx CMSYieldSleepCount = 0 {product} {default}
size_t CMSYoungGenPerWorker = 67108864 {pd product} {default}
uintx CMS_FLSPadding = 1 {product} {default}
uintx CMS_FLSWeight = 75 {product} {default}
uintx CMS_SweepPadding = 1 {product} {default}
uintx CMS_SweepTimerThresholdMillis = 10 {product} {default}
uintx CMS_SweepWeight = 75 {product} {default}
bool CheckEndorsedAndExtDirs = false {product} {default}
bool CheckJNICalls = false {product} {default}
bool ClassUnloading = true {product} {default}
bool ClassUnloadingWithConcurrentMark = true {product} {default}
bool ClipInlining = true {product} {default}
uintx CodeCacheExpansionSize = 65536 {pd product} {default}
bool CompactFields = true {product} {default}
bool CompactStrings = true {pd product} {default}
intx CompilationPolicyChoice = 3 {product} {default}
ccstrlist CompileCommand = {product} {default}
ccstr CompileCommandFile = {product} {default}
ccstrlist CompileOnly = {product} {default}
intx CompileThreshold = 10000 {pd product} {default}
double CompileThresholdScaling = 1.000000 {product} {default}
bool CompilerThreadHintNoPreempt = true {product} {default}
intx CompilerThreadPriority = -1 {product} {default}
intx CompilerThreadStackSize = 0 {pd product} {default}
size_t CompressedClassSpaceSize = 1073741824 {product} {default}
uint ConcGCThreads = 2 {product} {ergonomic}
intx ConditionalMoveLimit = 3 {C2 pd product} {default}
intx ContendedPaddingWidth = 128 {product} {default}
bool ConvertSleepToYield = true {product} {default}
bool ConvertYieldToSleep = false {product} {default}
bool CrashOnOutOfMemoryError = false {product} {default}
bool CreateCoredumpOnCrash = true {product} {default}
bool CriticalJNINatives = true {product} {default}
bool DTraceAllocProbes = false {product} {default}
bool DTraceMethodProbes = false {product} {default}
bool DTraceMonitorProbes = false {product} {default}
bool Debugging = false {product} {default}
intx DeferPollingPageLoopCount = -1 {product} {default}
intx DeferThrSuspendLoopCount = 4000 {product} {default}
bool DeoptimizeRandom = false {product} {default}
bool DisableAttachMechanism = false {product} {default}
bool DisableExplicitGC = false {product} {default}
bool DisplayVMOutputToStderr = false {product} {default}
bool DisplayVMOutputToStdout = false {product} {default}
bool DoEscapeAnalysis = true {C2 product} {default}
bool DoReserveCopyInSuperWord = true {C2 product} {default}
bool DontCompileHugeMethods = true {product} {default}
bool DontYieldALot = false {pd product} {default}
ccstr DumpLoadedClassList = {product} {default}
bool DumpReplayDataOnError = true {product} {default}
bool DumpSharedSpaces = false {product} {default}
bool EagerXrunInit = false {product} {default}
intx EliminateAllocationArraySizeLimit = 64 {C2 product} {default}
bool EliminateAllocations = true {C2 product} {default}
bool EliminateAutoBox = true {C2 product} {default}
bool EliminateLocks = true {C2 product} {default}
bool EliminateNestedLocks = true {C2 product} {default}
bool EnableContended = true {product} {default}
bool EnableDynamicAgentLoading = true {product} {default}
bool EnableResourceManagementTLABCache = true {product} {default}
bool EnableTracing = false {product} {default}
size_t ErgoHeapSizeLimit = 0 {product} {default}
ccstr ErrorFile = {product} {default}
uint64_t ErrorLogTimeout = 120 {product} {default}
ccstr ErrorReportServer = {product} {default}
double EscapeAnalysisTimeout = 20.000000 {C2 product} {default}
bool EstimateArgEscape = true {product} {default}
bool ExecutingUnitTests = false {product} {default}
bool ExitOnOutOfMemoryError = false {product} {default}
bool ExplicitGCInvokesConcurrent = false {product} {default}
bool ExplicitGCInvokesConcurrentAndUnloadsClasses = false {product} {default}
bool ExtendedDTraceProbes = false {product} {default}
ccstr ExtraSharedClassListFile = {product} {default}
bool FLSAlwaysCoalesceLarge = false {product} {default}
uintx FLSCoalescePolicy = 2 {product} {default}
double FLSLargestBlockCoalesceProximity = 0.990000 {product} {default}
bool FailOverToOldVerifier = true {product} {default}
bool FastTLABRefill = false {product} {default}
intx FieldsAllocationStyle = 1 {product} {default}
bool FilterSpuriousWakeups = true {product} {default}
ccstr FlightRecorderOptions = {product} {default}
bool ForceNUMA = false {product} {default}
bool ForceTimeHighResolution = false {product} {default}
intx FreqInlineSize = 325 {pd product} {default}
double G1ConcMarkStepDurationMillis = 10.000000 {product} {default}
uintx G1ConcRSHotCardLimit = 4 {product} {default}
size_t G1ConcRSLogCacheSize = 10 {product} {default}
size_t G1ConcRefinementGreenZone = 0 {product} {default}
size_t G1ConcRefinementRedZone = 0 {product} {default}
uintx G1ConcRefinementServiceIntervalMillis = 300 {product} {default}
uint G1ConcRefinementThreads = 8 {product} {ergonomic}
size_t G1ConcRefinementThresholdStep = 2 {product} {default}
size_t G1ConcRefinementYellowZone = 0 {product} {default}
uintx G1ConfidencePercent = 50 {product} {default}
size_t G1HeapRegionSize = 1048576 {product} {ergonomic}
uintx G1HeapWastePercent = 5 {product} {default}
uintx G1MixedGCCountTarget = 8 {product} {default}
intx G1RSetRegionEntries = 256 {product} {default}
size_t G1RSetScanBlockSize = 64 {product} {default}
intx G1RSetSparseRegionEntries = 4 {product} {default}
intx G1RSetUpdatingPauseTimePercent = 10 {product} {default}
intx G1RefProcDrainInterval = 10 {product} {default}
uintx G1ReservePercent = 10 {product} {default}
uintx G1SATBBufferEnqueueingThresholdPercent = 60 {product} {default}
size_t G1SATBBufferSize = 1024 {product} {default}
size_t G1UpdateBufferSize = 256 {product} {default}
bool G1UseAdaptiveConcRefinement = true {product} {default}
bool G1UseAdaptiveIHOP = true {product} {default}
uintx GCDrainStackTargetSize = 64 {product} {default}
uintx GCHeapFreeLimit = 2 {product} {default}
uintx GCLockerEdenExpansionPercent = 5 {product} {default}
bool GCLockerInvokesConcurrent = false {product} {default}
uintx GCPauseIntervalMillis = 201 {product} {default}
uint GCTaskTimeStampEntries = 200 {product} {default}
uintx GCTimeLimit = 98 {product} {default}
uintx GCTimeRatio = 12 {product} {default}
size_t HeapBaseMinAddress = 2147483648 {pd product} {default}
bool HeapDumpAfterFullGC = false {manageable} {default}
bool HeapDumpBeforeFullGC = false {manageable} {default}
bool HeapDumpOnOutOfMemoryError = false {manageable} {default}
ccstr HeapDumpPath = {manageable} {default}
uintx HeapFirstMaximumCompactionCount = 3 {product} {default}
uintx HeapMaximumCompactionInterval = 20 {product} {default}
uintx HeapSearchSteps = 3 {product} {default}
size_t HeapSizePerGCThread = 87241520 {product} {default}
bool IgnoreEmptyClassPaths = false {product} {default}
bool IgnoreUnrecognizedVMOptions = false {product} {default}
uintx IncreaseFirstTierCompileThresholdAt = 50 {product} {default}
bool IncrementalInline = true {C2 product} {default}
size_t InitialBootClassLoaderMetaspaceSize = 4194304 {product} {default}
uintx InitialCodeCacheSize = 2555904 {pd product} {default}
size_t InitialHeapSize = 268435456 {product} {ergonomic}
uintx InitialRAMFraction = 64 {product} {default}
uintx InitialSurvivorRatio = 8 {product} {default}
uintx InitialTenuringThreshold = 7 {product} {default}
uintx InitiatingHeapOccupancyPercent = 45 {product} {default}
bool Inline = true {product} {default}
ccstr InlineDataFile = {product} {default}
intx InlineSmallCode = 2000 {pd product} {default}
bool InlineSynchronizedMethods = true {C1 product} {default}
bool InsertMemBarAfterArraycopy = true {C2 product} {default}
intx InteriorEntryAlignment = 16 {C2 pd product} {default}
intx InterpreterProfilePercentage = 33 {product} {default}
bool JavaMonitorsInStackTrace = true {product} {default}
intx JavaPriority10_To_OSPriority = -1 {product} {default}
intx JavaPriority1_To_OSPriority = -1 {product} {default}
intx JavaPriority2_To_OSPriority = -1 {product} {default}
intx JavaPriority3_To_OSPriority = -1 {product} {default}
intx JavaPriority4_To_OSPriority = -1 {product} {default}
intx JavaPriority5_To_OSPriority = -1 {product} {default}
intx JavaPriority6_To_OSPriority = -1 {product} {default}
intx JavaPriority7_To_OSPriority = -1 {product} {default}
intx JavaPriority8_To_OSPriority = -1 {product} {default}
intx JavaPriority9_To_OSPriority = -1 {product} {default}
bool LIRFillDelaySlots = false {C1 pd product} {default}
size_t LargePageHeapSizeThreshold = 134217728 {product} {default}
size_t LargePageSizeInBytes = 0 {product} {default}
intx LiveNodeCountInliningCutoff = 40000 {C2 product} {default}
bool LogCommercialFeatures = false {product} {default}
intx LoopMaxUnroll = 16 {C2 product} {default}
intx LoopOptsCount = 43 {C2 product} {default}
intx LoopPercentProfileLimit = 30 {C2 pd product} {default}
intx LoopUnrollLimit = 60 {C2 pd product} {default}
intx LoopUnrollMin = 4 {C2 product} {default}
bool LoopUnswitching = true {C2 product} {default}
bool ManagementServer = false {product} {default}
size_t MarkStackSize = 4194304 {product} {ergonomic}
size_t MarkStackSizeMax = 16777216 {product} {default}
uint MarkSweepAlwaysCompactCount = 4 {product} {default}
uintx MarkSweepDeadRatio = 5 {product} {default}
intx MaxBCEAEstimateLevel = 5 {product} {default}
intx MaxBCEAEstimateSize = 150 {product} {default}
uint64_t MaxDirectMemorySize = 0 {product} {default}
bool MaxFDLimit = true {product} {default}
uintx MaxGCMinorPauseMillis = 18446744073709551615 {product} {default}
uintx MaxGCPauseMillis = 200 {product} {default}
uintx MaxHeapFreeRatio = 70 {manageable} {default}
size_t MaxHeapSize = 4273995776 {product} {ergonomic}
intx MaxInlineLevel = 9 {product} {default}
intx MaxInlineSize = 35 {product} {default}
intx MaxJNILocalCapacity = 65536 {product} {default}
intx MaxJavaStackTraceDepth = 1024 {product} {default}
intx MaxJumpTableSize = 65000 {C2 product} {default}
intx MaxJumpTableSparseness = 5 {C2 product} {default}
intx MaxLabelRootDepth = 1100 {C2 product} {default}
intx MaxLoopPad = 11 {C2 product} {default}
size_t MaxMetaspaceExpansion = 5451776 {product} {default}
uintx MaxMetaspaceFreeRatio = 70 {product} {default}
size_t MaxMetaspaceSize = 18446744073709486080 {product} {default}
size_t MaxNewSize = 2563768320 {product} {ergonomic}
intx MaxNodeLimit = 80000 {C2 product} {default}
uint64_t MaxRAM = 137438953472 {pd product} {default}
uintx MaxRAMFraction = 4 {product} {default}
intx MaxRecursiveInlineLevel = 1 {product} {default}
uintx MaxTenuringThreshold = 15 {product} {default}
intx MaxTrivialSize = 6 {product} {default}
intx MaxVectorSize = 64 {C2 product} {default}
size_t MetaspaceSize = 21807104 {pd product} {default}
bool MethodFlushing = true {product} {default}
size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic}
uintx MinHeapFreeRatio = 40 {manageable} {default}
intx MinInliningThreshold = 250 {product} {default}
intx MinJumpTableSize = 10 {C2 pd product} {default}
size_t MinMetaspaceExpansion = 339968 {product} {default}
uintx MinMetaspaceFreeRatio = 40 {product} {default}
uintx MinRAMFraction = 2 {product} {default}
uintx MinSurvivorRatio = 3 {product} {default}
size_t MinTLABSize = 2048 {product} {default}
intx MonitorBound = 0 {product} {default}
bool MonitorInUseLists = true {product} {default}
intx MultiArrayExpandLimit = 6 {C2 product} {default}
bool MustCallLoadClassInternal = false {product} {default}
uintx NUMAChunkResizeWeight = 20 {product} {default}
size_t NUMAInterleaveGranularity = 2097152 {product} {default}
uintx NUMAPageScanRate = 256 {product} {default}
size_t NUMASpaceResizeRate = 1073741824 {product} {default}
bool NUMAStats = false {product} {default}
ccstr NativeMemoryTracking = off {product} {default}
bool NeedsDeoptSuspend = false {pd product} {default}
bool NeverActAsServerClassMachine = false {pd product} {default}
bool NeverTenure = false {product} {default}
uintx NewRatio = 2 {product} {default}
size_t NewSize = 1363144 {product} {default}
size_t NewSizeThreadIncrease = 5320 {pd product} {default}
intx NmethodSweepActivity = 10 {product} {default}
intx NodeLimitFudgeFactor = 2000 {C2 product} {default}
uintx NonNMethodCodeHeapSize = 5835340 {pd product} {ergonomic}
uintx NonProfiledCodeHeapSize = 122911450 {pd product} {ergonomic}
intx NumberOfLoopInstrToAlign = 4 {C2 product} {default}
intx ObjectAlignmentInBytes = 8 {lp64_product} {default}
size_t OldPLABSize = 1024 {product} {default}
uintx OldPLABWeight = 50 {product} {default}
size_t OldSize = 5452592 {product} {default}
bool OmitStackTraceInFastThrow = true {product} {default}
ccstrlist OnError = {product} {default}
ccstrlist OnOutOfMemoryError = {product} {default}
intx OnStackReplacePercentage = 140 {pd product} {default}
bool OptimizeFill = true {C2 product} {default}
bool OptimizePtrCompare = true {C2 product} {default}
bool OptimizeStringConcat = true {C2 product} {default}
bool OptoBundling = false {C2 pd product} {default}
intx OptoLoopAlignment = 16 {pd product} {default}
bool OptoRegScheduling = true {C2 pd product} {default}
bool OptoScheduling = false {C2 pd product} {default}
uintx PLABWeight = 75 {product} {default}
bool PSChunkLargeArrays = true {product} {default}
int ParGCArrayScanChunk = 50 {product} {default}
uintx ParGCDesiredObjsFromOverflowList = 20 {product} {default}
bool ParGCTrimOverflow = true {product} {default}
bool ParGCUseLocalOverflow = false {product} {default}
uintx ParallelGCBufferWastePct = 10 {product} {default}
uint ParallelGCThreads = 8 {product} {default}
uintx ParallelOldDeadWoodLimiterMean = 50 {product} {default}
uintx ParallelOldDeadWoodLimiterStdDev = 80 {product} {default}
bool ParallelRefProcBalancingEnabled = true {product} {default}
bool ParallelRefProcEnabled = false {product} {default}
bool PartialPeelAtUnsignedTests = true {C2 product} {default}
bool PartialPeelLoop = true {C2 product} {default}
intx PartialPeelNewPhiDelta = 0 {C2 product} {default}
uintx PausePadding = 1 {product} {default}
intx PerBytecodeRecompilationCutoff = 200 {product} {default}
intx PerBytecodeTrapLimit = 4 {product} {default}
intx PerMethodRecompilationCutoff = 400 {product} {default}
intx PerMethodTrapLimit = 100 {product} {default}
bool PerfAllowAtExitRegistration = false {product} {default}
bool PerfBypassFileSystemCheck = false {product} {default}
intx PerfDataMemorySize = 32768 {product} {default}
intx PerfDataSamplingInterval = 50 {product} {default}
ccstr PerfDataSaveFile = {product} {default}
bool PerfDataSaveToFile = false {product} {default}
bool PerfDisableSharedMem = false {product} {default}
intx PerfMaxStringConstLength = 1024 {product} {default}
size_t PreTouchParallelChunkSize = 1073741824 {product} {default}
bool PreferInterpreterNativeStubs = false {pd product} {default}
intx PrefetchCopyIntervalInBytes = 576 {product} {default}
intx PrefetchFieldsAhead = 1 {product} {default}
intx PrefetchScanIntervalInBytes = 576 {product} {default}
bool PreserveAllAnnotations = false {product} {default}
bool PreserveFramePointer = false {pd product} {default}
size_t PretenureSizeThreshold = 0 {product} {default}
bool PrintAOT = false {product} {default}
bool PrintClassHistogram = false {manageable} {default}
bool PrintCodeCache = false {product} {default}
bool PrintCodeCacheOnCompilation = false {product} {default}
bool PrintCommandLineFlags = false {product} {default}
bool PrintCompilation = false {product} {default}
bool PrintConcurrentLocks = false {manageable} {default}
bool PrintFlagsFinal = true {product} {command line}
bool PrintFlagsInitial = false {product} {default}
bool PrintFlagsRanges = false {product} {default}
bool PrintGC = false {product} {default}
bool PrintGCDetails = false {product} {default}
bool PrintHeapAtSIGBREAK = true {product} {default}
bool PrintJNIResolving = false {product} {default}
bool PrintSafepointStatistics = false {product} {default}
intx PrintSafepointStatisticsCount = 300 {product} {default}
intx PrintSafepointStatisticsTimeout = -1 {product} {default}
bool PrintSharedArchiveAndExit = false {product} {default}
bool PrintSharedDictionary = false {product} {default}
bool PrintSharedSpaces = false {product} {default}
bool PrintStringTableStatistics = false {product} {default}
bool PrintTieredEvents = false {product} {default}
bool PrintVMOptions = false {product} {default}
bool PrintVMQWaitTime = false {product} {default}
bool PrintWarnings = true {product} {default}
uintx ProcessDistributionStride = 4 {product} {default}
bool ProfileInterpreter = true {pd product} {default}
bool ProfileIntervals = false {product} {default}
intx ProfileIntervalsTicks = 100 {product} {default}
intx ProfileMaturityPercentage = 20 {product} {default}
bool ProfileVM = false {product} {default}
uintx ProfiledCodeHeapSize = 122911450 {pd product} {ergonomic}
bool ProfilerPrintByteCodeStatistics = false {product} {default}
bool ProfilerRecordPC = false {product} {default}
uintx PromotedPadding = 3 {product} {default}
uintx QueuedAllocationWarningCount = 0 {product} {default}
uintx RTMRetryCount = 5 {ARCH product} {default}
bool RangeCheckElimination = true {product} {default}
bool ReassociateInvariants = true {C2 product} {default}
bool ReduceBulkZeroing = true {C2 product} {default}
bool ReduceFieldZeroing = true {C2 product} {default}
bool ReduceInitialCardMarks = true {C2 product} {default}
bool ReduceSignalUsage = false {product} {default}
intx RefDiscoveryPolicy = 0 {product} {default}
bool RegisterFinalizersAtInit = true {product} {default}
bool RelaxAccessControlCheck = false {product} {default}
ccstr ReplayDataFile = {product} {default}
bool RequireSharedSpaces = false {product} {default}
uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
bool ResizeOldPLAB = true {product} {default}
bool ResizePLAB = true {product} {default}
bool ResizeTLAB = true {pd product} {default}
bool RestoreMXCSROnJNICalls = false {product} {default}
bool RestrictContended = true {product} {default}
bool RestrictReservedStack = true {product} {default}
bool RewriteBytecodes = true {pd product} {default}
bool RewriteFrequentPairs = true {pd product} {default}
intx SafepointSpinBeforeYield = 2000 {product} {default}
bool SafepointTimeout = false {product} {default}
intx SafepointTimeoutDelay = 10000 {product} {default}
bool ScavengeBeforeFullGC = false {product} {default}
bool SegmentedCodeCache = true {product} {ergonomic}
intx SelfDestructTimer = 0 {product} {default}
size_t SharedBaseAddress = 34359738368 {product} {default}
ccstr SharedClassListFile = {product} {default}
size_t SharedMiscCodeSize = 122880 {product} {default}
size_t SharedMiscDataSize = 4194304 {product} {default}
size_t SharedReadOnlySize = 10485760 {product} {default}
size_t SharedReadWriteSize = 10485760 {product} {default}
uintx SharedSymbolTableBucketSize = 4 {product} {default}
bool ShowMessageBoxOnError = false {product} {default}
bool ShrinkHeapInSteps = true {product} {default}
intx SoftRefLRUPolicyMSPerMB = 1000 {product} {default}
bool SplitIfBlocks = true {C2 product} {default}
intx StackRedPages = 1 {pd product} {default}
intx StackReservedPages = 0 {pd product} {default}
intx StackShadowPages = 7 {pd product} {default}
bool StackTraceInThrowable = true {product} {default}
intx StackYellowPages = 3 {pd product} {default}
uintx StartAggressiveSweepingAt = 10 {product} {default}
bool StartAttachListener = false {product} {default}
bool StressLdcRewrite = false {product} {default}
uintx StringDeduplicationAgeThreshold = 3 {product} {default}
uintx StringTableSize = 60013 {product} {default}
bool SuperWordLoopUnrollAnalysis = true {C2 pd product} {default}
bool SuperWordReductions = true {C2 product} {default}
bool SuppressFatalErrorMessage = false {product} {default}
uintx SurvivorPadding = 3 {product} {default}
uintx SurvivorRatio = 8 {product} {default}
intx SuspendRetryCount = 50 {product} {default}
intx SuspendRetryDelay = 5 {product} {default}
uintx TLABAllocationWeight = 35 {product} {default}
uintx TLABRefillWasteFraction = 64 {product} {default}
size_t TLABSize = 0 {product} {default}
bool TLABStats = true {product} {default}
uintx TLABWasteIncrement = 4 {product} {default}
uintx TLABWasteTargetPercent = 1 {product} {default}
uintx TargetPLABWastePct = 10 {product} {default}
uintx TargetSurvivorRatio = 50 {product} {default}
uintx TenuredGenerationSizeIncrement = 20 {product} {default}
uintx TenuredGenerationSizeSupplement = 80 {product} {default}
uintx TenuredGenerationSizeSupplementDecay = 2 {product} {default}
intx ThreadPriorityPolicy = 0 {product} {default}
bool ThreadPriorityVerbose = false {product} {default}
intx ThreadStackSize = 0 {pd product} {default}
uintx ThresholdTolerance = 10 {product} {default}
intx Tier0BackedgeNotifyFreqLog = 10 {product} {default}
intx Tier0InvokeNotifyFreqLog = 7 {product} {default}
intx Tier0ProfilingStartPercentage = 200 {product} {default}
intx Tier23InlineeNotifyFreqLog = 20 {product} {default}
intx Tier2BackEdgeThreshold = 0 {product} {default}
intx Tier2BackedgeNotifyFreqLog = 14 {product} {default}
intx Tier2CompileThreshold = 0 {product} {default}
intx Tier2InvokeNotifyFreqLog = 11 {product} {default}
intx Tier3AOTBackEdgeThreshold = 120000 {product} {default}
intx Tier3AOTCompileThreshold = 15000 {product} {default}
intx Tier3AOTInvocationThreshold = 10000 {product} {default}
intx Tier3AOTMinInvocationThreshold = 1000 {product} {default}
intx Tier3BackEdgeThreshold = 60000 {product} {default}
intx Tier3BackedgeNotifyFreqLog = 13 {product} {default}
intx Tier3CompileThreshold = 2000 {product} {default}
intx Tier3DelayOff = 2 {product} {default}
intx Tier3DelayOn = 5 {product} {default}
intx Tier3InvocationThreshold = 200 {product} {default}
intx Tier3InvokeNotifyFreqLog = 10 {product} {default}
intx Tier3LoadFeedback = 5 {product} {default}
intx Tier3MinInvocationThreshold = 100 {product} {default}
intx Tier4BackEdgeThreshold = 40000 {product} {default}
intx Tier4CompileThreshold = 15000 {product} {default}
intx Tier4InvocationThreshold = 5000 {product} {default}
intx Tier4LoadFeedback = 3 {product} {default}
intx Tier4MinInvocationThreshold = 600 {product} {default}
bool TieredCompilation = true {pd product} {default}
intx TieredCompileTaskTimeout = 50 {product} {default}
intx TieredRateUpdateMaxTime = 25 {product} {default}
intx TieredRateUpdateMinTime = 1 {product} {default}
intx TieredStopAtLevel = 4 {product} {default}
bool TimeLinearScan = false {C1 product} {default}
ccstr TraceJVMTI = {product} {default}
bool TraceOldGenTime = false {product} {default}
bool TraceSuspendWaitFailures = false {product} {default}
bool TraceYoungGenTime = false {product} {default}
intx TrackedInitializationLimit = 50 {C2 product} {default}
bool TransmitErrorReport = false {product} {default}
bool TrapBasedNullChecks = false {pd product} {default}
bool TrapBasedRangeChecks = false {C2 pd product} {default}
intx TypeProfileArgsLimit = 2 {product} {default}
uintx TypeProfileLevel = 111 {pd product} {default}
intx TypeProfileMajorReceiverPercent = 90 {C2 product} {default}
intx TypeProfileParmsLimit = 2 {product} {default}
intx TypeProfileWidth = 2 {product} {default}
intx UnguardOnExecutionViolation = 0 {product} {default}
bool UnlinkSymbolsALot = false {product} {default}
bool UseAES = true {product} {default}
bool UseAOT = false {product} {ergonomic}
intx UseAVX = 2 {ARCH product} {default}
bool UseAdaptiveGCBoundary = false {product} {default}
bool UseAdaptiveGenerationSizePolicyAtMajorCollection = true {product} {default}
bool UseAdaptiveGenerationSizePolicyAtMinorCollection = true {product} {default}
bool UseAdaptiveNUMAChunkSizing = true {product} {default}
bool UseAdaptiveSizeDecayMajorGCCost = true {product} {default}
bool UseAdaptiveSizePolicy = true {product} {default}
bool UseAdaptiveSizePolicyFootprintGoal = true {product} {default}
bool UseAdaptiveSizePolicyWithSystemGC = false {product} {default}
bool UseAddressNop = true {ARCH product} {default}
bool UseAutoGCSelectPolicy = false {product} {default}
bool UseBMI1Instructions = true {ARCH product} {default}
bool UseBMI2Instructions = true {ARCH product} {default}
bool UseBiasedLocking = true {product} {default}
bool UseBimorphicInlining = true {C2 product} {default}
bool UseCLMUL = true {ARCH product} {default}
bool UseCMSBestFit = true {product} {default}
bool UseCMSInitiatingOccupancyOnly = false {product} {default}
bool UseCMoveUnconditionally = false {C2 product} {default}
bool UseCodeAging = true {product} {default}
bool UseCodeCacheFlushing = true {product} {default}
bool UseCompiler = true {product} {default}
bool UseCompressedClassPointers = true {lp64_product} {ergonomic}
bool UseCompressedOops = true {lp64_product} {ergonomic}
bool UseConcMarkSweepGC = false {product} {default}
bool UseCondCardMark = false {product} {default}
bool UseCountLeadingZerosInstruction = true {ARCH product} {default}
bool UseCountTrailingZerosInstruction = true {ARCH product} {default}
bool UseCountedLoopSafepoints = false {C2 product} {default}
bool UseCounterDecay = true {product} {default}
bool UseDivMod = true {C2 product} {default}
bool UseDynamicNumberOfGCThreads = false {product} {default}
bool UseFMA = true {product} {default}
bool UseFPUForSpilling = true {C2 product} {default}
bool UseFastJNIAccessors = true {product} {default}
bool UseFastStosb = true {ARCH product} {default}
bool UseG1GC = true {product} {ergonomic}
bool UseGCOverheadLimit = true {product} {default}
bool UseGCTaskAffinity = false {product} {default}
bool UseHeavyMonitors = false {product} {default}
bool UseInlineCaches = true {product} {default}
bool UseInterpreter = true {product} {default}
bool UseJumpTables = true {C2 product} {default}
bool UseLWPSynchronization = true {product} {default}
bool UseLargePages = false {pd product} {default}
bool UseLargePagesInMetaspace = false {product} {default}
bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic}
bool UseLockedTracing = false {product} {default}
bool UseLoopCounter = true {product} {default}
bool UseLoopInvariantCodeMotion = true {C1 product} {default}
bool UseLoopPredicate = true {C2 product} {default}
bool UseMaximumCompactionOnSystemGC = true {product} {default}
bool UseMembar = false {pd product} {default}
bool UseNUMA = false {product} {default}
bool UseNUMAInterleaving = false {product} {default}
bool UseNewLongLShift = false {ARCH product} {default}
bool UseOSErrorReporting = false {pd product} {default}
bool UseOnStackReplacement = true {pd product} {default}
bool UseOnlyInlinedBimorphic = true {C2 product} {default}
bool UseOptoBiasInlining = true {C2 product} {default}
bool UsePSAdaptiveSurvivorSizePolicy = true {product} {default}
bool UseParNewGC = false {product} {default}
bool UseParallelGC = false {product} {default}
bool UseParallelOldGC = false {product} {default}
bool UsePerfData = true {product} {default}
bool UsePopCountInstruction = true {product} {default}
bool UseRDPCForConstantTableBase = false {C2 product} {default}
bool UseRTMDeopt = false {ARCH product} {default}
bool UseRTMLocking = false {ARCH product} {default}
bool UseSHA = true {product} {default}
intx UseSSE = 4 {product} {default}
bool UseSSE42Intrinsics = true {ARCH product} {default}
bool UseSerialGC = false {product} {default}
bool UseSharedSpaces = false {product} {default}
bool UseSignalChaining = true {product} {default}
bool UseStoreImmI16 = false {ARCH product} {default}
bool UseStringDeduplication = false {product} {default}
bool UseSuperWord = true {C2 product} {default}
bool UseTLAB = true {pd product} {default}
bool UseThreadPriorities = true {pd product} {default}
bool UseTypeProfile = true {product} {default}
bool UseTypeSpeculation = true {C2 product} {default}
bool UseUTCFileTimestamp = true {product} {default}
bool UseUnalignedLoadStores = true {ARCH product} {default}
bool UseXMMForArrayCopy = true {product} {default}
bool UseXmmI2D = false {ARCH product} {default}
bool UseXmmI2F = false {ARCH product} {default}
bool UseXmmLoadAndClearUpper = true {ARCH product} {default}
bool UseXmmRegToRegMoveAll = true {ARCH product} {default}
bool VMThreadHintNoPreempt = false {product} {default}
intx VMThreadPriority = -1 {product} {default}
intx VMThreadStackSize = 0 {pd product} {default}
intx ValueMapInitialSize = 11 {C1 product} {default}
intx ValueMapMaxLoopSize = 8 {C1 product} {default}
intx ValueSearchLimit = 1000 {C2 product} {default}
bool VerifyMergedCPBytecodes = true {product} {default}
bool VerifySharedSpaces = false {product} {default}
uintx YoungGenerationSizeIncrement = 20 {product} {default}
uintx YoungGenerationSizeSupplement = 80 {product} {default}
uintx YoungGenerationSizeSupplementDecay = 8 {product} {default}
size_t YoungPLABSize = 4096 {product} {default}
bool ZeroTLAB = false {product} {default}
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)


The first and second columns show the data type of the flag and its name

The fourth column shows the flag default/applied value,

The fifth one shows category.

":=" indicates that the flag was set to that value either by the user or by JVM optimization (The process of Ergonomics).


We can also include following other options :

-XX:+UnlockDiagnosticVMOptions

-XX:+UnlockExperimentalVMOptions

-XX:+UnlockInternalVMOptions

For example:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version

See Also