1. 首页
  2. jvm实践

JVM所有参数一览

注意:所有参数基于JDK7和JDK8提取(java -XX:+PrintFlagsFinal -version),且每个参数的值可以通过命令jinfo -flag JVMParamName pid查看(至于JVM默认启动参数,可以通过命令java -XX:+PrintCommandLineFlags -version查看);这些参数目前没有详细说明,因为这个的出现是为了弥补笨神的JVMPocket(微信小程序)搜索功能不够强大的缺点(网页版可以通过ctrl+F搜索),配合JVMPocket使用才是王道;

参数:AdaptivePermSizeWeight
用法:

描述:

参数:AdaptiveSizeDecrementScaleFactor
用法:

描述:

参数:AdaptiveSizeMajorGCDecayTimeScale
用法:

描述:

参数:AdaptiveSizePausePolicy
用法:

描述:

参数:AdaptiveSizePolicyCollectionCostMargin
用法:

描述:

参数:AdaptiveSizePolicyInitializingSteps
用法:

描述:

参数:AdaptiveSizePolicyOutputInterval
用法:

描述:

参数:AdaptiveSizePolicyWeight
用法:

描述:

参数:AdaptiveSizeThroughPutPolicy
用法:

描述:

参数:AdaptiveTimeWeight
用法:

描述:

参数:AdjustConcurrency
用法:

描述:

参数:AggressiveOpts
用法:

描述:

参数:AliasLevel
用法:

描述:

参数:AlignVector
用法:

描述:

参数:AllocateInstancePrefetchLines
用法:

描述:

参数:AllocatePrefetchDistance
用法:

描述:

参数:AllocatePrefetchInstr
用法:

描述:

参数:AllocatePrefetchLines
用法:

描述:

参数:AllocatePrefetchStepSize
用法:

描述:

参数:AllocatePrefetchStyle
用法:

描述:

参数:AllowJNIEnvProxy
用法:

描述:

参数:AllowNonVirtualCalls
用法:

描述:

参数:AllowParallelDefineClass
用法:

描述:

参数:AllowUserSignalHandlers
用法:

描述:

参数:AlwaysActAsServerClassMachine
用法:

描述:

参数:AlwaysCompileLoopMethods
用法:

描述:

参数:AlwaysLockClassLoader
用法:

描述:

参数:AlwaysPreTouch
用法: -XX:+AlwaysPreTouch

描述: JAVA进程启动的时候,虽然我们可以为JVM指定合适的内存大小,但是这些内存操作系统并没有真正的分配给JVM,而是等JVM访问这些内存的时候,才真正分配;通过配置这个参数JVM就会先访问所有分配给它的内存,让操作系统把内存真正的分配给JVM.从而提高运行时的性能,后续JVM就可以更好的访问内存了;

参数:AlwaysRestoreFPU
用法:

描述:

参数:AlwaysTenure
用法:

描述:

参数:AssertOnSuspendWaitFailure
用法:

描述:

参数:AssumeMP
用法:

描述:

参数:Atomics
用法:

描述:

参数:AutoBoxCacheMax
用法: -XX:AutoBoxCacheMax=128

描述: 自动装箱拆箱缓存的最大值,Java默认先初始化cache = new Integer[(high – low) + 1]这些Integer对象(java源码Integer.java中IntegerCache这个静态内部类以及valueOf()这个方法),假设Integer a=129,Integer b=129,如果想要a==b,需要配置-XX:AutoBoxCacheMax=129,或者一个更大的值;

参数:AutoGCSelectPauseMillis
用法:

描述:

参数:BCEATraceLevel
用法:

描述:

参数:BackEdgeThreshold
用法:

描述:

参数:BackgroundCompilation
用法:

描述:

参数:BaseFootPrintEstimate
用法:

描述:

参数:BiasedLockingBulkRebiasThreshold
用法:

描述:

参数:BiasedLockingBulkRevokeThreshold
用法:

描述:

参数:BiasedLockingDecayTime
用法:

描述:

参数:BiasedLockingStartupDelay
用法:

描述:

参数:BindCMSThreadToCPU
用法:

描述:

参数:BindGCTaskThreadsToCPUs
用法:

描述:

参数:BlockLayoutByFrequency
用法:

描述:

参数:BlockLayoutMinDiamondPercentage
用法:

描述:

参数:BlockLayoutRotateLoops
用法:

描述:

参数:BlockOffsetArrayUseUnallocatedBlock
用法:

描述:

参数:BranchOnRegister
用法:

描述:

参数:BytecodeVerificationLocal
用法:

描述:

参数:BytecodeVerificationRemote
用法:

描述:

参数:C1OptimizeVirtualCallProfiling
用法:

描述:

参数:C1PatchInvokeDynamic
用法:

描述:

参数:C1ProfileBranches
用法:

描述:

参数:C1ProfileCalls
用法:

描述:

参数:C1ProfileCheckcasts
用法:

描述:

参数:C1ProfileInlinedCalls
用法:

描述:

参数:C1ProfileVirtualCalls
用法:

描述:

参数:C1UpdateMethodData
用法:

描述:

参数:CICompilerCount
用法:

描述:

参数:CICompilerCountPerCPU
用法:

描述:

参数:CITime
用法:

描述:

参数:CMSAbortSemantics
用法:

描述:

参数:CMSAbortablePrecleanMinWorkPerIteration
用法:

描述:

参数:CMSAbortablePrecleanWaitMillis
用法:

描述:

参数:CMSBitMapYieldQuantum
用法:

描述:

参数:CMSBootstrapOccupancy
用法:

描述:

参数:CMSClassUnloadingEnabled
用法:

描述:

参数:CMSClassUnloadingMaxInterval
用法:

描述:

参数:CMSCleanOnEnter
用法:

描述:

参数:CMSCompactWhenClearAllSoftRefs
用法:

描述:

参数:CMSConcMarkMultiple
用法:

描述:

参数:CMSConcurrentMTEnabled
用法:

描述:

参数:CMSCoordinatorYieldSleepCount
用法:

描述:

参数:CMSDumpAtPromotionFailure
用法:

描述:

参数:CMSEdenChunksRecordAlways
用法:

描述:

参数:CMSExpAvgFactor
用法:

描述:

参数:CMSExtrapolateSweep
用法:

描述:

参数:CMSFullGCsBeforeCompaction
用法: -XX:CMSFullGCsBeforeCompaction=0

描述: 表示经过多少次Full GC后压缩Old区,因为CMS GC是标记清理算法,导致Old区有内存碎片,需要发生Full GC时才能压缩空间整理内存碎片

参数:CMSIncrementalDutyCycle
用法:

描述:

参数:CMSIncrementalDutyCycleMin
用法:

描述:

参数:CMSIncrementalMode
用法:

描述:

参数:CMSIncrementalOffset
用法:

描述:

参数:CMSIncrementalPacing
用法:

描述:

参数:CMSIncrementalSafetyFactor
用法:

描述:

参数:CMSIndexedFreeListReplenish
用法:

描述:

参数:CMSInitiatingOccupancyFraction
用法: -XX:CMSInitiatingOccupancyFraction=75

描述: Old区占用量达到百分之多少满足触发CMS GC的条件

参数:CMSInitiatingPermOccupancyFraction
用法:

描述:

参数:CMSIsTooFullPercentage
用法:

描述:

参数:CMSLargeCoalSurplusPercent
用法:

描述:

参数:CMSLargeSplitSurplusPercent
用法:

描述:

参数:CMSLoopWarn
用法:

描述:

参数:CMSMaxAbortablePrecleanLoops
用法: -XX:CMSMaxAbortablePrecleanLoops=0

描述: 预清理循环次数,默认为0

参数:CMSMaxAbortablePrecleanTime
用法: -XX:CMSMaxAbortablePrecleanTime=5000

描述: CMS GC中Preclean阶段允许最大消耗的时间,如果超过这个时间,就会放弃Preclean,日志中有"abort preclean due to time ……"

参数:CMSOldPLABMax
用法:

描述:

参数:CMSOldPLABMin
用法:

描述:

参数:CMSOldPLABNumRefills
用法:

描述:

参数:CMSOldPLABReactivityFactor
用法:

描述:

参数:CMSOldPLABResizeQuicker
用法:

描述:

参数:CMSOldPLABToleranceFactor
用法:

描述:

参数:CMSPLABRecordAlways
用法:

描述:

参数:CMSParPromoteBlocksToClaim
用法:

描述:

参数:CMSParallelInitialMarkEnabled
用法: -XX:+CMSParallelInitialMarkEnabled

描述: 在JDK7及以前,该参数默认为false,JDK8及以后默认为true;其含义是CMS GC初始化标记阶段并行执行;

参数:CMSParallelRemarkEnabled
用法: -XX:+CMSParallelRemarkEnabled

描述: CMS GC重新标记阶段并行执行,JDK7&JDK8中默认值都是true;

参数:CMSParallelSurvivorRemarkEnabled
用法:

描述:

参数:CMSPermGenPrecleaningEnabled
用法:

描述:

参数:CMSPrecleanDenominator
用法:

描述:

参数:CMSPrecleanIter
用法:

描述:

参数:CMSPrecleanNumerator
用法:

描述:

参数:CMSPrecleanRefLists1
用法:

描述:

参数:CMSPrecleanRefLists2
用法:

描述:

参数:CMSPrecleanSurvivors1
用法:

描述:

参数:CMSPrecleanSurvivors2
用法:

描述:

参数:CMSPrecleanThreshold
用法:

描述:

参数:CMSPrecleaningEnabled
用法:

描述:

参数:CMSPrintChunksInDump
用法:

描述:

参数:CMSPrintEdenSurvivorChunks
用法:

描述:

参数:CMSPrintObjectsInDump
用法:

描述:

参数:CMSRemarkVerifyVariant
用法:

描述:

参数:CMSReplenishIntermediate
用法:

描述:

参数:CMSRescanMultiple
用法:

描述:

参数:CMSRevisitStackSize
用法:

描述:

参数:CMSSamplingGrain
用法:

描述:

参数:CMSScavengeBeforeRemark
用法: -XX:+CMSScavengeBeforeRemark

描述: CMS GC会以新生代作为GC Root的一部分, 所以加上这个参数后, 在remark之前做一次YGC, 能够一定程度上减少GC Root扫描的开销, 从而减少CMS remark时间,。如果remark不是性能瓶颈, 不加也行, 毕竟YGC会STW

参数:CMSScheduleRemarkEdenPenetration
用法: -XX:CMSScheduleRemarkEdenPenetration=50

描述: 如果Eden区的内存使用率达到了阈值CMSScheduleRemarkEdenPenetration指定的百分比,默认50%,会退出预清理循环。

参数:CMSScheduleRemarkEdenSizeThreshold
用法: -XX:CMSScheduleRemarkEdenSizeThreshold=2097152

描述: 预清理阶段发生的前提是,新生代Eden区的内存使用量大于参数CMSScheduleRemarkEdenSizeThreshold 默认是2M,如果新生代的对象太少,就没有必要执行预清理阶段,直接执行重新标记阶段。

参数:CMSScheduleRemarkSamplingRatio
用法:

描述:

参数:CMSSmallCoalSurplusPercent
用法:

描述:

参数:CMSSmallSplitSurplusPercent
用法:

描述:

参数:CMSSplitIndexedFreeListBlocks
用法:

描述:

参数:CMSTriggerPermRatio
用法:

描述:

参数:CMSTriggerInterval
用法:

描述:

参数:CMSTriggerRatio
用法:

描述:

参数:CMSWaitDuration
用法: -XX:CMSWaitDuration=2000

描述: CMSThread默认2秒钟扫描一次,判断是否需要CMS,这个参数可以更改这个扫描时间间隔,例如-XX:CMSWaitDuration=5000,可以通过jstack日志看到线程:"Concurrent Mark-Sweep GC Thread" os_prio=2 tid=0x000000001870f800 nid=0x0f4 waiting on condition

参数:CMSWorkQueueDrainThreshold
用法:

描述:

参数:CMSYield
用法:

描述:

参数:CMSYieldSleepCount
用法:

描述:

参数:CMSYoungGenPerWorker
用法:

描述:

参数:CMS_FLSPadding
用法:

描述:

参数:CMS_FLSWeight
用法:

描述:

参数:CMS_SweepPadding
用法:

描述:

参数:CMS_SweepTimerThresholdMillis
用法:

描述:

参数:CMS_SweepWeight
用法:

描述:

参数:CPUForCMSThread
用法:

描述:

参数:CheckEndorsedAndExtDirs
用法:

描述:

参数:CheckJNICalls
用法:

描述:

参数:ClassUnloading
用法:

描述:

参数:ClassUnloadingWithConcurrentMark
用法:

描述:

参数:ClearFPUAtPark
用法:

描述:

参数:ClipInlining
用法:

描述:

参数:CodeCacheExpansionSize
用法:

描述:

参数:CodeCacheFlushingMinimumFreeSpace
用法:

描述:

参数:CodeCacheMinimumFreeSpace
用法:

描述:

参数:CollectGen0First
用法:

描述:

参数:CompactFields
用法:

描述:

参数:CompilationPolicyChoice
用法:

描述:

参数:CompilationRepeat
用法:

描述:

参数:CompileCommand
用法:

描述:

参数:CompileCommandFile
用法:

描述:

参数:CompileOnly
用法:

描述:

参数:CompileThreshold
用法:

描述:

参数:CompilerThreadHintNoPreempt
用法:

描述:

参数:CompilerThreadPriority
用法:

描述:

参数:CompilerThreadStackSize
用法:

描述:

参数:CompressedClassSpaceSize
用法:

描述:

参数:ConcGCThreads
用法: -XX:ConcGCThreads=4

描述: 以CMS GC为例,-XX:ConcGCThreads是指并发阶段例如:并发标记,标记清理,标记重置时GC线程数。

参数:ConditionalMoveLimit
用法:

描述:

参数:ContendedPaddingWidth
用法:

描述:

参数:ConvertSleepToYield
用法:

描述:

参数:ConvertYieldToSleep
用法:

描述:

参数:CrashOnOutOfMemoryError
用法:

描述:

参数:CreateMinidumpOnCrash
用法:

描述:

参数:CriticalJNINatives
用法:

描述:

参数:DTraceAllocProbes
用法:

描述:

参数:DTraceMethodProbes
用法:

描述:

参数:DTraceMonitorProbes
用法:

描述:

参数:DebugInlinedCalls
用法:

描述:

参数:DebugNonSafepoints
用法:

描述:

参数:Debugging
用法:

描述:

参数:DefaultMaxRAMFraction
用法:

描述:

参数:DefaultThreadPriority
用法:

描述:

参数:DeferInitialCardMark
用法:

描述:

参数:DeferPollingPageLoopCount
用法:

描述:

参数:DeferThrSuspendLoopCount
用法:

描述:

参数:DeoptimizeRandom
用法:

描述:

参数:DisableAttachMechanism
用法:

描述:

参数:DisableExplicitGC
用法: -XX:+DisableExplicitGC

描述: 关闭System.gc()触发的FullGC,如果用到了堆外内存(比如Netty),建议不要配置-XX:+DisableExplicitGC,否则可能FullGC无法回收堆外内存;

参数:DisableIntrinsic
用法:

描述:

参数:DisplayVMOutput
用法:

描述:

参数:DisplayVMOutputToStderr
用法:

描述:

参数:DisplayVMOutputToStdout
用法:

描述:

参数:DoEscapeAnalysis
用法: -XX:+DoEscapeAnalysis

描述: 是否开启逃逸分析,推荐文章深入分析JVM逃逸分析对性能的影响

参数:DominatorSearchLimit
用法:

描述:

参数:DontCompileHugeMethods
用法:

描述:

参数:DontYieldALot
用法:

描述:

参数:DumpLoadedClassList
用法:

描述:

参数:DumpReplayDataOnError
用法:

描述:

参数:DumpSharedSpaces
用法:

描述:

参数:EagerXrunInit
用法:

描述:

参数:EliminateAllocationArraySizeLimit
用法:

描述:

参数:EliminateAllocations
用法:

描述:

参数:EliminateAutoBox
用法:

描述:

参数:EliminateLocks
用法:

描述:

参数:EliminateNestedLocks
用法:

描述:

参数:EmitSync
用法:

描述:

参数:EnableContended
用法:

描述:

参数:EnableInvokeDynamic
用法:

描述:

参数:EnableResourceManagementTLABCache
用法:

描述:

参数:EnableSharedLookupCache
用法:

描述:

参数:EnableTracing
用法:

描述:

参数:ErgoHeapSizeLimit
用法:

描述:

参数:ErrorFile
用法:

描述:

参数:ErrorReportServer
用法:

描述:

参数:EscapeAnalysisTimeout
用法:

描述:

参数:EstimateArgEscape
用法:

描述:

参数:ExitOnOutOfMemoryError
用法:

描述:

参数:ExplicitGCInvokesConcurrent
用法: -XX:+ExplicitGCInvokesConcurrent

描述: 无论JVM什么时候调用系统GC(即代码中调用system.gc(),该方法会默认触发一次full gc),都执行(background) CMS GC,而不是Full GC

参数:ExplicitGCInvokesConcurrentAndUnloadsClasses
用法:

描述:

参数:ExtendedDTraceProbes
用法:

描述:

参数:ExtraSharedClassListFile
用法:

描述:

参数:FLSAlwaysCoalesceLarge
用法:

描述:

参数:FLSCoalescePolicy
用法:

描述:

参数:FLSLargestBlockCoalesceProximity
用法:

描述:

参数:FLSVerifyAllHeapReferences
用法:

描述:

参数:FLSVerifyIndexTable
用法:

描述:

参数:FLSVerifyLists
用法:

描述:

参数:FailOverToOldVerifier
用法:

描述:

参数:FastTLABRefill
用法:

描述:

参数:FenceInstruction
用法:

描述:

参数:FieldsAllocationStyle
用法:

描述:

参数:FilterSpuriousWakeups
用法:

描述:

参数:FlightRecorderOptions
用法:

描述:

参数:FoldStableValues
用法:

描述:

参数:ForceDynamicNumberOfGCThreads
用法:

描述:

参数:ForceNUMA
用法:

描述:

参数:ForceTimeHighResolution
用法:

描述:

参数:ForceUnreachable
用法:

描述:

参数:FreqInlineSize
用法:

描述:

参数:G1ConcMarkStepDurationMillis
用法:

描述:

参数:G1ConcRSHotCardLimit
用法:

描述:

参数:G1ConcRSLogCacheSize
用法:

描述:

参数:G1ConcRefinementGreenZone
用法:

描述:

参数:G1ConcRefinementRedZone
用法:

描述:

参数:G1ConcRefinementServiceIntervalMillis
用法:

描述:

参数:G1ConcRefinementThreads
用法:

描述:

参数:G1ConcRefinementThresholdStep
用法:

描述:

参数:G1ConcRefinementYellowZone
用法:

描述:

参数:G1ConfidencePercent
用法:

描述:

参数:G1HeapRegionSize
用法: -XX:G1HeapRegionSize=4m

描述: 配置了G1后,指定region的大小,真实值可能与配置的值不一样,JVM会重新计算region size为<=G1HeapRegionSize的最大的2的N次方,例如-XX:G1HeapRegionSize=6m,那么region size就是4m,如果-XX:G1HeapRegionSize=9m,那么region size就是8M,验证方式:java -XX:+UseG1GC -verbose:gc -Xmn256m -XX:G1HeapRegionSize=8m -XX:+UnlockDiagnosticVMOptions -XX:+PrintHeapAtGC StringInternTest

参数:G1HeapWastePercent
用法:

描述:

参数:G1MixedGCCountTarget
用法:

描述:

参数:G1PrintHeapRegions
用法:

描述:

参数:G1PrintRegionLivenessInfo
用法:

描述:

参数:G1RSetRegionEntries
用法:

描述:

参数:G1RSetScanBlockSize
用法:

描述:

参数:G1RSetSparseRegionEntries
用法:

描述:

参数:G1RSetUpdatingPauseTimePercent
用法:

描述:

参数:G1RefProcDrainInterval
用法:

描述:

参数:G1ReservePercent
用法:

描述:

参数:G1SATBBufferEnqueueingThresholdPercent
用法:

描述:

参数:G1SATBBufferSize
用法:

描述:

参数:G1SummarizeConcMark
用法:

描述:

参数:G1SummarizeRSetStats
用法:

描述:

参数:G1SummarizeRSetStatsPeriod
用法:

描述:

参数:G1TraceConcRefinement
用法:

描述:

参数:G1UpdateBufferSize
用法:

描述:

参数:G1UseAdaptiveConcRefinement
用法:

描述:

参数:G1VerifyHeapRegionCodeRoots
用法:

描述:

参数:G1VerifyRSetsDuringFullGC
用法:

描述:

参数:GCDrainStackTargetSize
用法:

描述:

参数:GCHeapFreeLimit
用法:

描述:

参数:GCLockerEdenExpansionPercent
用法:

描述:

参数:GCLockerInvokesConcurrent
用法:

描述:

参数:GCLockerRetryAllocationCount
用法:

描述:

参数:GCLogFileSize
用法: -XX:GCLogFileSize=256m

描述: 控制GClog文件达到多大时写入到下一个GClog文件,前提必须指定-Xloggc:gc.log

参数:GCParallelVerificationEnabled
用法:

描述:

参数:GCPauseIntervalMillis
用法:

描述:

参数:GCTaskTimeStampEntries
用法:

描述:

参数:GCTimeLimit
用法:

描述:

参数:GCTimeRatio
用法:

描述:

参数:GuaranteedSafepointInterval
用法:

描述:

参数:HeapBaseMinAddress
用法:

描述:

参数:HeapDumpAfterFullGC
用法: -XX:+HeapDumpAfterFullGC

描述: FullGC之前生成dump文件。一定要是FullGC,如果是CMS GC或者G1(mixed gc)这类并发GC,是不会dump的。

参数:HeapDumpBeforeFullGC
用法: -XX:+HeapDumpBeforeFullGC

描述: FullGC之后生成dump文件。一定要是FullGC,如果是CMS GC或者G1(mixed gc)这类并发GC,是不会dump的。

参数:HeapDumpOnOutOfMemoryError
用法: -XX:+HeapDumpOnOutOfMemoryError

描述: 让JVM在发生内存溢出时自动的生成堆内存快照

参数:HeapDumpPath
用法: -XX:HeapDumpPath=${目录}

描述: JVM在发生内存溢出时自动的生成堆内存快照的保存路径;

参数:HeapFirstMaximumCompactionCount
用法:

描述:

参数:HeapMaximumCompactionInterval
用法:

描述:

参数:HeapSizePerGCThread
用法:

描述:

参数:IgnoreEmptyClassPaths
用法: -XX:IgnoreEmptyClassPaths

描述: 忽略类路径中的空, 例如linux环境下部分类路径foo.jar:.:bar.jar通过配置这个参数会忽略掉中间的空;

参数:IgnoreUnrecognizedVMOptions
用法:

描述:

参数:IgnoreUnverifiableClassesDuringDump
用法:

描述:

参数:IncreaseFirstTierCompileThresholdAt
用法:

描述:

参数:IncrementalInline
用法:

描述:

参数:InitialBootClassLoaderMetaspaceSize
用法:

描述:

参数:InitialCodeCacheSize
用法:

描述:

参数:InitialHeapSize
用法:

描述:

参数:InitialRAMFraction
用法:

描述:

参数:InitialSurvivorRatio
用法:

描述:

参数:InitialTenuringThreshold
用法:

描述:

参数:InitiatingHeapOccupancyPercent
用法:

描述:

参数:Inline
用法:

描述:

参数:InlineDataFile
用法:

描述:

参数:InlineSmallCode
用法:

描述:

参数:InlineSynchronizedMethods
用法:

描述:

参数:InsertMemBarAfterArraycopy
用法:

描述:

参数:InteriorEntryAlignment
用法:

描述:

参数:InterpreterProfilePercentage
用法:

描述:

参数:JNIDetachReleasesMonitors
用法:

描述:

参数:JavaMonitorsInStackTrace
用法:

描述:

参数:JavaPriority10_To_OSPriority
用法:

描述:

参数:JavaPriority1_To_OSPriority
用法:

描述:

参数:JavaPriority2_To_OSPriority
用法:

描述:

参数:JavaPriority3_To_OSPriority
用法:

描述:

参数:JavaPriority4_To_OSPriority
用法:

描述:

参数:JavaPriority5_To_OSPriority
用法:

描述:

参数:JavaPriority6_To_OSPriority
用法:

描述:

参数:JavaPriority7_To_OSPriority
用法:

描述:

参数:JavaPriority8_To_OSPriority
用法:

描述:

参数:JavaPriority9_To_OSPriority
用法:

描述:

参数:LIRFillDelaySlots
用法:

描述:

参数:LargePageHeapSizeThreshold
用法:

描述:

参数:LargePageSizeInBytes
用法:

描述:

参数:LazyBootClassLoader
用法:

描述:

参数:LiveNodeCountInliningCutoff
用法:

描述:

参数:LoadExecStackDllInVMThread
用法:

描述:

参数:LogCommercialFeatures
用法:

描述:

参数:LogCompilation
用法:

描述:

参数:LogEvents
用法:

描述:

参数:LogEventsBufferEntries
用法:

描述:

参数:LogFile
用法:

描述:

参数:LogVMOutput
用法:

描述:

参数:LoopLimitCheck
用法:

描述:

参数:LoopMaxUnroll
用法:

描述:

参数:LoopOptsCount
用法:

描述:

参数:LoopUnrollLimit
用法:

描述:

参数:LoopUnrollMin
用法:

描述:

参数:LoopUnswitching
用法:

描述:

参数:MallocMaxTestWords
用法:

描述:

参数:MallocVerifyInterval
用法:

描述:

参数:MallocVerifyStart
用法:

描述:

参数:ManagementServer
用法:

描述:

参数:MarkStackSize
用法:

描述:

参数:MarkStackSizeMax
用法:

描述:

参数:MarkSweepAlwaysCompactCount
用法:

描述:

参数:MarkSweepDeadRatio
用法:

描述:

参数:MaxBCEAEstimateLevel
用法:

描述:

参数:MaxBCEAEstimateSize
用法:

描述:

参数:MaxDirectMemorySize
用法: -XX:MaxDirectMemorySize=1024m

描述: 指定NIO可申请的最大的堆外内存大小,当使用达到了阈值的时候将调用System.gc来做一次full gc,以此来回收堆外内存。只能限制NIO申请的堆外内存,其他方式申请的堆外内存不能通过这个参数限制;

参数:MaxFDLimit
用法:

描述:

参数:MaxGCMinorPauseMillis
用法:

描述:

参数:MaxGCPauseMillis
用法: -XX:MaxGCPauseMillis=200

描述: 这是GC最大可暂停时间,单位毫秒。例如:-XX:+UseG1GC -Xmx32g -XX:MaxGCPauseMillis=200

参数:MaxHeapFreeRatio
用法:

描述:

参数:MaxHeapSize
用法:

描述:

参数:MaxInlineLevel
用法:

描述:

参数:MaxInlineSize
用法: -XX:MaxInlineSize=35

描述: JIT方法内联优化默认的字节码个数阈值是35个字节,低于35个字节,才会进行优化。(可通过-XX:MaxInlineSize=35进行设置)

参数:MaxJNILocalCapacity
用法:

描述:

参数:MaxJavaStackTraceDepth
用法: -XX:MaxJavaStackTraceDepth=1024

描述: 栈溢出时输出的异常深度,默认为1024;可以通过一个递归调用模拟,-Xss512k时,10000次以上基本上就会出现栈溢出(StackOverflowError),栈溢出的异常日志就可以通过MaxJavaStackTraceDepth这个参数控制;

参数:MaxJumpTableSize
用法:

描述:

参数:MaxJumpTableSparseness
用法:

描述:

参数:MaxLabelRootDepth
用法:

描述:

参数:MaxLoopPad
用法:

描述:

参数:MaxMetaspaceExpansion
用法:

描述:

参数:MaxMetaspaceFreeRatio
用法:

描述:

参数:MaxMetaspaceSize
用法:

描述:

参数:MaxNewSize
用法:

描述:

参数:MaxNodeLimit
用法:

描述:

参数:MaxPermHeapExpansion
用法:

描述:

参数:MaxPermSize
用法: -XX:MaxPermSize=128m

描述:

参数:MaxRAM
用法:

描述:

参数:MaxRAMFraction
用法:

描述:

参数:MaxRecursiveInlineLevel
用法:

描述:

参数:MaxTenuringThreshold
用法:

描述:

参数:MaxTrivialSize
用法:

描述:

参数:MaxVectorSize
用法:

描述:

参数:MetaspaceSize
用法: -XX:MetaspaceSize=128m

描述: 配置第一次触碰meta区容量从而触发full gc的阈值,例如配置128m,那么meta区由于使用一直扩容到128m才会触发full gc;一般会配合 -XX:MaxMetaspaceSize=128m一起使用

参数:MethodFlushing
用法:

描述:

参数:MinCodeCacheFlushingInterval
用法:

描述:

参数:MinHeapDeltaBytes
用法:

描述:

参数:MinHeapFreeRatio
用法:

描述:

参数:MinInliningThreshold
用法:

描述:

参数:MinJumpTableSize
用法:

描述:

参数:MinPermHeapExpansion
用法:

描述:

参数:MinMetaspaceExpansion
用法:

描述:

参数:MinMetaspaceFreeRatio
用法:

描述:

参数:MinRAMFraction
用法:

描述:

参数:MinSurvivorRatio
用法:

描述:

参数:MinTLABSize
用法:

描述:

参数:MonitorBound
用法:

描述:

参数:MonitorInUseLists
用法:

描述:

参数:MultiArrayExpandLimit
用法:

描述:

参数:MustCallLoadClassInternal
用法:

描述:

参数:NUMAChunkResizeWeight
用法:

描述:

参数:NUMAInterleaveGranularity
用法:

描述:

参数:NUMAPageScanRate
用法:

描述:

参数:NUMASpaceResizeRate
用法:

描述:

参数:NUMAStats
用法:

描述:

参数:NativeMemoryTracking
用法:

描述:

参数:NeedsDeoptSuspend
用法:

描述:

参数:NeverActAsServerClassMachine
用法:

描述:

参数:NeverTenure
用法:

描述:

参数:NewRatio
用法: -XX:NewRatio=2

描述: Old:Young的比值,-XX:NewRatio=2表示Old:Young=2:1。所以,如果堆大小为3G,那么Old区有2G,Young区有1G;

参数:NewSize
用法:

描述:

参数:NewSizeThreadIncrease
用法:

描述:

参数:NmethodSweepActivity
用法:

描述:

参数:NmethodSweepCheckInterval
用法:

描述:

参数:NmethodSweepFraction
用法:

描述:

参数:NodeLimitFudgeFactor
用法:

描述:

参数:NumberOfGCLogFiles
用法: -XX:NumberOfGCLogFiles=16

描述: 控制GClog文件滚动的文件个数;

参数:NumberOfLoopInstrToAlign
用法:

描述:

参数:ObjectAlignmentInBytes
用法:

描述:

参数:OldPLABSize
用法:

描述:

参数:OldPLABWeight
用法:

描述:

参数:OldSize
用法:

描述:

参数:OmitStackTraceInFastThrow
用法: -XX:-OmitStackTraceInFastThrow

描述: 请参考异常栈信息不见了之JVM参数OmitStackTraceInFastThrow

参数:OnError
用法: -XX:OnError="pmap %p",或者-XX:OnError="gcore %p; dbx – %p"

描述: 在JVM出现fatal error即致命错误时,执行一些自定义脚本,命令中的%p就是当前JVM的进程ID

参数:OnOutOfMemoryError
用法:

描述:

参数:OnStackReplacePercentage
用法:

描述:

参数:OptimizeExpensiveOps
用法:

描述:

参数:OptimizeFill
用法:

描述:

参数:OptimizePtrCompare
用法:

描述:

参数:OptimizeStringConcat
用法:

描述:

参数:OptoBundling
用法:

描述:

参数:OptoLoopAlignment
用法:

描述:

参数:OptoScheduling
用法:

描述:

参数:PLABWeight
用法:

描述:

参数:PSChunkLargeArrays
用法:

描述:

参数:ParGCArrayScanChunk
用法:

描述:

参数:ParGCCardsPerStrideChunk
用法:

描述:

参数:ParGCDesiredObjsFromOverflowList
用法:

描述:

参数:ParGCStridesPerThread
用法:

描述:

参数:ParGCTrimOverflow
用法:

描述:

参数:ParGCUseLocalOverflow
用法:

描述:

参数:ParallelGCBufferWastePct
用法:

描述:

参数:ParallelGCRetainPLAB
用法:

描述:

参数:ParallelGCThreads
用法: -XX:ParallelGCThreads=4

描述: 是指并行阶段例如:初始化标记,重新标记阶段GC线程数;

参数:ParallelGCVerbose
用法:

描述:

参数:ParallelOldDeadWoodLimiterMean
用法:

描述:

参数:ParallelOldDeadWoodLimiterStdDev
用法:

描述:

参数:ParallelRefProcBalancingEnabled
用法:

描述:

参数:ParallelRefProcEnabled
用法: -XX:+ParallelRefProcEnabled

描述: 主要是弱引用场景(比如缓存, 它不介意JVM垃圾回收是否会收集), 然而,GC会花很多时间尝试找出哪些引用能被清理,并且重新标记阶段默认是单线程的,通过配置-XX:+ParallelRefProcEnabled让这个阶段并行.

参数:PartialPeelAtUnsignedTests
用法:

描述:

参数:PartialPeelLoop
用法:

描述:

参数:PartialPeelNewPhiDelta
用法:

描述:

参数:PauseAtExit
用法:

描述:

参数:PauseAtStartup
用法:

描述:

参数:PauseAtStartupFile
用法:

描述:

参数:PausePadding
用法:

描述:

参数:PerBytecodeRecompilationCutoff
用法:

描述:

参数:PerBytecodeTrapLimit
用法:

描述:

参数:PerMethodRecompilationCutoff
用法:

描述:

参数:PerMethodTrapLimit
用法:

描述:

参数:PerfAllowAtExitRegistration
用法:

描述:

参数:PerfBypassFileSystemCheck
用法:

描述:

参数:PerfDataMemorySize
用法:

描述:

参数:PerfDataSamplingInterval
用法:

描述:

参数:PerfDataSaveFile
用法:

描述:

参数:PerfDataSaveToFile
用法:

描述:

参数:PerfDisableSharedMem
用法: 允许写统计文件(默认)–> -XX:-PerfDisableSharedMem, 禁止写统计文件–> -XX:+PerfDisableSharedMem

描述: 存储PerfData的内存是不是可以被共享, 即这个PerfData是不是其他进程可见的问题, 如果设置了-XX:+UsePerfData, 那么不管PerfDisableSharedMem这个参数是开还是关, JVM在启动的时候都会分配一块内存来存PerfData;

参数:PerfMaxStringConstLength
用法:

描述:

参数:PermGenPadding
用法:

描述:

参数:PermMarkSweepDeadRatio
用法:

描述:

参数:PermSize
用法: -XX:PermSize=128m

描述: 配置第一次触碰perm区容量从而触发full gc的阈值,例如配置128m,那么perm区由于使用一直扩容到128m才会触发full gc;一般会配合 -XX:MaxPermSize=128m一起使用

参数:PreInflateSpin
用法:

描述:

参数:PreferInterpreterNativeStubs
用法:

描述:

参数:PrefetchCopyIntervalInBytes
用法:

描述:

参数:PrefetchFieldsAhead
用法:

描述:

参数:PrefetchScanIntervalInBytes
用法:

描述:

参数:PreserveAllAnnotations
用法:

描述:

参数:PreserveFramePointer
用法:

描述:

参数:PretenureSizeThreshold
用法: -XX:PretenureSizeThreshold=8M

描述: 对象超过多大直接在Old区分配,注意:这个参数只有在串行回收器或者ParNew才生效;所以如果使用默认垃圾回收,即PS算法,这个参数不起作用;

参数:PrintActiveCpus
用法:

描述:

参数:PrintAdapterHandlers
用法:

描述:

参数:PrintAdaptiveSizePolicy
用法:

描述:

参数:PrintAssembly
用法:

描述:

参数:PrintAssemblyOptions
用法:

描述:

参数:PrintBiasedLockingStatistics
用法:

描述:

参数:PrintCMSInitiationStatistics
用法:

描述:

参数:PrintCMSStatistics
用法:

描述:

参数:PrintClassHistogram
用法: -XX:+PrintClassHistogram

描述:

参数:PrintClassHistogramAfterFullGC
用法:

描述:

参数:PrintClassHistogramBeforeFullGC
用法:

描述:

参数:PrintCodeCache
用法: -XX:+PrintCodeCache

描述: 在JVM退出时输出codecache相关内存使用量。输出日志类似:CodeCache: size=245760Kb used=1337Kb max_used=1349Kb free=244422Kb

参数:PrintCodeCacheOnCompilation
用法:

描述:

参数:PrintCommandLineFlags
用法:

描述:

参数:PrintCompilation
用法:

描述:

参数:PrintCompilation2
用法:

描述:

参数:PrintCompressedOopsMode
用法:

描述:

参数:PrintConcurrentLocks
用法:

描述:

参数:PrintDTraceDOF
用法:

描述:

参数:PrintFLSCensus
用法:

描述:

参数:PrintFLSStatistics
用法: -XX:PrintFLSStatistics=1

描述: 打印出Old区free list方式分配对象后统计信息,如果是CMS GC,可以根据这个参数输出结果判断CMS垃圾回收后碎片化情况;

参数:PrintFlagsFinal
用法:

描述:

参数:PrintFlagsInitial
用法:

描述:

参数:PrintGC
用法: -XX:+PrintGC

描述: 输出简化的GC时的信息;例如:[GC (Allocation Failure) 104960K->391K(249088K), 0.0033481 secs]

参数:PrintGCApplicationConcurrentTime
用法:-XX:+PrintGCApplicationConcurrentTime

描述: 输出这种日志Application time: 1.0000957 seconds

参数:PrintGCApplicationStoppedTime
用法: -XX:+PrintGCApplicationStoppedTime

描述: 打印每次垃圾回收时由于STW应用线程的停止时间,配合-XX:+PrintGCApplicationConcurrentTime使用,得到如下日志,解读这段日志为:应用线程运行了2.3162127s,然后由于STW应用线程暂停了0.0016437s,并且应用线程达到SafePoint消耗了0.0000180s;应用线程又运行了3.2971522s,然后由于STW应用线程暂停了0.0016671s,并且应用线程达到SafePoint消耗了0.0000161s;

  Application time: 2.3162127 seconds
    [GC (Allocation Failure) [ParNew: 105606K->741K(118016K), 0.0015271 secs] 105606K->741K(249088K), 0.0015499 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
    Total time for which application threads were stopped: 0.0016437 seconds, Stopping threads took: 0.0000180 seconds
    Application time: 3.2971522 seconds
    [GC (Allocation Failure) [ParNew: 105701K->476K(118016K), 0.0015443 secs] 105701K->476K(249088K), 0.0015767 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
    Total time for which application threads were stopped: 0.0016671 seconds, Stopping threads took: 0.0000161 seconds

参数:PrintGCCause
用法: -XX:+PrintGCCause

描述: JDK7以前默认关闭,JDK8以后默认开启,gc日志中输出gc原因;例如[GC (Allocation Failure) [ParNew: 105605K->741K(118016K)表示分配失败发生YoungGC

参数:PrintGCDateStamps
用法: -XX:+PrintGCDateStamps

描述: 输出发生GC时服务器当前时间,例如这段日志中的2018-02-02T14:39:45.072+0800

  2018-02-02T14:39:45.072+0800: [GC (Allocation Failure) 2018-02-02T14:39:45.072+0800: [ParNew: 104960K->391K(118016K), 0.0024288 secs] 104960K->391K(249088K), 0.0025031 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]

参数:PrintGCDetails
用法: -XX:+PrintGCDetails

描述: 输出详细的GC时的信息;例如[GC (Allocation Failure) [ParNew: 104960K->391K(118016K), 0.0020264 secs] 104960K->391K(249088K), 0.0020788 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

参数:PrintGCID
用法:

描述:

参数:PrintGCTaskTimeStamps
用法:

描述:

参数:PrintGCTimeStamps
用法: -XX:+PrintGCTimeStamps

描述: 输出发生GC时从JVM启动到当前时间点的时间差,例如这段日志中的7.307

  7.307: [GC (Allocation Failure) 7.307: [ParNew: 105351K->645K(118016K), 0.0017634 secs] 105351K->645K(249088K), 0.0018050 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

参数:PrintHeapAtGC
用法: -XX:+PrintHeapAtGC

描述: 发生GC时输出GC前后堆的信息,如下所示:

  {Heap before GC invocations=0 (full 0):
     par new generation   total 118016K, used 104960K [0x00000000f0000000, 0x00000000f8000000, 0x00000000f8000000)
      eden space 104960K, 100% used [0x00000000f0000000, 0x00000000f6680000, 0x00000000f6680000)
      from space 13056K,   0% used [0x00000000f6680000, 0x00000000f6680000, 0x00000000f7340000)
      to   space 13056K,   0% used [0x00000000f7340000, 0x00000000f7340000, 0x00000000f8000000)
     concurrent mark-sweep generation total 131072K, used 0K [0x00000000f8000000, 0x0000000100000000, 0x0000000100000000)
     Metaspace       used 2857K, capacity 4486K, committed 4864K, reserved 1056768K
      class space    used 308K, capacity 386K, committed 512K, reserved 1048576K
    [GC (Allocation Failure) [ParNew: 104960K->391K(118016K), 0.0033643 secs] 104960K->391K(249088K), 0.0034396 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 
    Heap after GC invocations=1 (full 0):
     par new generation   total 118016K, used 391K [0x00000000f0000000, 0x00000000f8000000, 0x00000000f8000000)
      eden space 104960K,   0% used [0x00000000f0000000, 0x00000000f0000000, 0x00000000f6680000)
      from space 13056K,   2% used [0x00000000f7340000, 0x00000000f73a1d38, 0x00000000f8000000)
      to   space 13056K,   0% used [0x00000000f6680000, 0x00000000f6680000, 0x00000000f7340000)
     concurrent mark-sweep generation total 131072K, used 0K [0x00000000f8000000, 0x0000000100000000, 0x0000000100000000)
     Metaspace       used 2857K, capacity 4486K, committed 4864K, reserved 1056768K
      class space    used 308K, capacity 386K, committed 512K, reserved 1048576K
    }

参数:PrintHeapAtGCExtended
用法:

描述:

参数:PrintHeapAtSIGBREAK
用法:

描述:

参数:PrintInlining
用法:

描述:

参数:PrintInterpreter
用法:

描述:

参数:PrintIntrinsics
用法:

描述:

参数:PrintJNIGCStalls
用法:

描述:

参数:PrintJNIResolving
用法:

描述:

参数:PrintMethodFlushingStatistics
用法:

描述:

参数:PrintMethodHandleStubs
用法:

描述:

参数:PrintNMTStatistics
用法:

描述:

参数:PrintNMethods
用法:

描述:

参数:PrintNativeNMethods
用法:

描述:

参数:PrintOldPLAB
用法:

描述:

参数:PrintOopAddress
用法:

描述:

参数:PrintPLAB
用法:

描述:

参数:PrintParallelOldGCPhaseTimes
用法:

描述:

参数:PrintPreciseBiasedLockingStatistics
用法:

描述:

参数:PrintPreciseRTMLockingStatistics
用法:

描述:

参数:PrintPromotionFailure
用法:

描述:

参数:PrintReferenceGC
用法:

描述:

参数:PrintRevisitStats
用法:

描述:

参数:PrintSafepointStatistics
用法:

描述:

参数:PrintSafepointStatisticsCount
用法:

描述:

参数:PrintSafepointStatisticsTimeout
用法:

描述:

参数:PrintSharedArchiveAndExit
用法:

描述:

参数:PrintSharedDictionary
用法:

描述:

参数:PrintSharedSpaces
用法:

描述:

参数:PrintSignatureHandlers
用法:

描述:

参数:PrintStringDeduplicationStatistics
用法:

描述:

参数:PrintStringTableStatistics
用法: -XX:+PrintStringTableStatistics

描述: 打印出StringTable相关信息到标准输出日志中, 例如bucket数量(Number of buckets), entry数量(Number of entries, StringTable是以Hashtable数据结构存储), bucket中双向链表的最大长度(Maximum bucket size, 这个值越大表示碰撞越大, 性能越差)等

参数:PrintStubCode
用法:

描述:

参数:PrintTLAB
用法:

描述:

参数:PrintTenuringDistribution
用法: -XX:+PrintTenuringDistribution

描述: 输出S区对象age分布,如下所示:

  Desired survivor size 6684672 bytes, new threshold 6 (max 6)
    - age   1:        144 bytes,        144 total
    - age   2:       4112 bytes,       4256 total
    - age   3:        696 bytes,       4952 total
    - age   4:     393072 bytes,     398024 total

参数:PrintTieredEvents
用法:

描述:

参数:PrintVMOptions
用法:

描述:

参数:PrintVMQWaitTime
用法:

描述:

参数:PrintWarnings
用法:

描述:

参数:ProcessDistributionStride
用法:

描述:

参数:ProfileDynamicTypes
用法:

描述:

参数:ProfileInterpreter
用法:

描述:

参数:ProfileIntervals
用法:

描述:

参数:ProfileIntervalsTicks
用法:

描述:

参数:ProfileMaturityPercentage
用法:

描述:

参数:ProfileVM
用法:

描述:

参数:ProfilerPrintByteCodeStatistics
用法:

描述:

参数:ProfilerRecordPC
用法:

描述:

参数:PromotedPadding
用法:

描述:

参数:QueuedAllocationWarningCount
用法:

描述:

参数:RTMRetryCount
用法:

描述:

参数:RangeCheckElimination
用法:

描述:

参数:RangeLimitCheck
用法:

描述:

参数:ReadPrefetchInstr
用法:

描述:

参数:ReassociateInvariants
用法:

描述:

参数:ReduceBulkZeroing
用法:

描述:

参数:ReduceFieldZeroing
用法:

描述:

参数:ReduceInitialCardMarks
用法:

描述:

参数:ReduceSignalUsage
用法:

描述:

参数:RefDiscoveryPolicy
用法:

描述:

参数:ReflectionWrapResolutionErrors
用法:

描述:

参数:RegisterFinalizersAtInit
用法:

描述:

参数:RelaxAccessControlCheck
用法:

描述:

参数:ReplayDataFile
用法:

描述:

参数:RequireSharedSpaces
用法:

描述:

参数:ReservedCodeCacheSize
用法:

描述:

参数:ResizeOldPLAB
用法:

描述:

参数:ResizePLAB
用法:

描述:

参数:ResizeTLAB
用法:

描述:

参数:RestoreMXCSROnJNICalls
用法:

描述:

参数:RestrictContended
用法:

描述:

参数:RewriteBytecodes
用法:

描述:

参数:RewriteFrequentPairs
用法:

描述:

参数:SafepointPollOffset
用法:

描述:

参数:SafepointSpinBeforeYield
用法:

描述:

参数:SafepointTimeout
用法:

描述:

参数:SafepointTimeoutDelay
用法:

描述:

参数:ScavengeBeforeFullGC
用法:

描述:

参数:ScavengeRootsInCode
用法:

描述:

参数:SelfDestructTimer
用法:

描述:

参数:SharedDummyBlockSize
用法:

描述:

参数:SerializeVMOutput
用法:

描述:

参数:SharedArchiveFile
用法:

描述:

参数:SharedBaseAddress
用法:

描述:

参数:SharedClassListFile
用法:

描述:

参数:SharedMiscCodeSize
用法:

描述:

参数:SharedMiscDataSize
用法:

描述:

参数:SharedReadOnlySize
用法:

描述:

参数:SharedReadWriteSize
用法:

描述:

参数:ShowHiddenFrames
用法:

描述:

参数:ShowMessageBoxOnError
用法:

描述:

参数:SoftRefLRUPolicyMSPerMB
用法:

描述:

参数:SpecialEncodeISOArray
用法:

描述:

参数:SplitIfBlocks
用法:

描述:

参数:StackRedPages
用法:

描述:

参数:StackShadowPages
用法:

描述:

参数:StackTraceInThrowable
用法:

描述:

参数:StackYellowPages
用法:

描述:

参数:StartAttachListener
用法:

描述:

参数:StarvationMonitorInterval
用法:

描述:

参数:StressLdcRewrite
用法:

描述:

参数:StringDeduplicationAgeThreshold
用法:

描述:

参数:StringDeduplicationRehashALot
用法:

描述:

参数:StringDeduplicationResizeALot
用法:

描述:

参数:StringTableSize
用法:

描述:

参数:SuppressFatalErrorMessage
用法:

描述:

参数:SurvivorPadding
用法:

描述:

参数:SurvivorRatio
用法: -XX:SurvivorRatio=3

描述: 表示Eden:From:To的比值,比如这里配置-XX:SurvivorRatio=3,那么Eden:From:To=3:1:1;这个JVM参数默认是8;

参数:SuspendRetryCount
用法:

描述:

参数:SuspendRetryDelay
用法:

描述:

参数:SyncFlags
用法:

描述:

参数:SyncKnobs
用法:

描述:

参数:SyncVerbose
用法:

描述:

参数:TLABAllocationWeight
用法:

描述:

参数:TLABRefillWasteFraction
用法:

描述:

参数:TLABSize
用法:

描述:

参数:TLABStats
用法:

描述:

参数:TLABWasteIncrement
用法:

描述:

参数:TLABWasteTargetPercent
用法:

描述:

参数:TargetPLABWastePct
用法:

描述:

参数:TargetSurvivorRatio
用法:

描述:

参数:TenuredGenerationSizeIncrement
用法:

描述:

参数:TenuredGenerationSizeSupplement
用法:

描述:

参数:TenuredGenerationSizeSupplementDecay
用法:

描述:

参数:ThreadPriorityPolicy
用法:

描述:

参数:ThreadPriorityVerbose
用法:

描述:

参数:ThreadSafetyMargin
用法:

描述:

参数:ThreadStackSize
用法: -XX:ThreadStackSize=512

描述: 配置的单位是k,即512k,等价于-Xss512k;表示线程栈的大小;默认值可以通过命令jinfo -flag ThreadStackSize 1344查看,一般是1024k;

参数:ThresholdTolerance
用法:

描述:

参数:Tier0BackedgeNotifyFreqLog
用法:

描述:

参数:Tier0InvokeNotifyFreqLog
用法:

描述:

参数:Tier0ProfilingStartPercentage
用法:

描述:

参数:Tier23InlineeNotifyFreqLog
用法:

描述:

参数:Tier2BackEdgeThreshold
用法:

描述:

参数:Tier2BackedgeNotifyFreqLog
用法:

描述:

参数:Tier2CompileThreshold
用法:

描述:

参数:Tier2InvokeNotifyFreqLog
用法:

描述:

参数:Tier3BackEdgeThreshold
用法:

描述:

参数:Tier3BackedgeNotifyFreqLog
用法:

描述:

参数:Tier3CompileThreshold
用法:

描述:

参数:Tier3DelayOff
用法:

描述:

参数:Tier3DelayOn
用法:

描述:

参数:Tier3InvocationThreshold
用法:

描述:

参数:Tier3InvokeNotifyFreqLog
用法:

描述:

参数:Tier3LoadFeedback
用法:

描述:

参数:Tier3MinInvocationThreshold
用法:

描述:

参数:Tier4BackEdgeThreshold
用法:

描述:

参数:Tier4CompileThreshold
用法:

描述:

参数:Tier4InvocationThreshold
用法:

描述:

参数:Tier4LoadFeedback
用法:

描述:

参数:Tier4MinInvocationThreshold
用法:

描述:

参数:TieredCompilation
用法:

描述:

参数:TieredCompileTaskTimeout
用法:

描述:

参数:TieredRateUpdateMaxTime
用法:

描述:

参数:TieredRateUpdateMinTime
用法:

描述:

参数:TieredStopAtLevel
用法:

描述:

参数:TimeLinearScan
用法:

描述:

参数:TraceBiasedLocking
用法:

描述:

参数:TraceClassLoading
用法:

描述:

参数:TraceClassLoadingPreorder
用法:

描述:

参数:TraceClassPaths
用法:

描述:

参数:TraceClassResolution
用法:

描述:

参数:TraceClassUnloading
用法:

描述:

参数:TraceDynamicGCThreads
用法:

描述:

参数:TraceGCTaskThread
用法:

描述:

参数:TraceGen0Time
用法:

描述:

参数:TraceGen1Time
用法:

描述:

参数:TraceJVMTI
用法:

描述:

参数:TraceJVMTIObjectTagging
用法:

描述:

参数:TraceLoaderConstraints
用法:

描述:

参数:TraceMetadataHumongousAllocation
用法:

描述:

参数:TraceMonitorInflation
用法:

描述:

参数:TraceNMethodInstalls
用法:

描述:

参数:TraceParallelOldGCTasks
用法:

描述:

参数:TraceRedefineClasses
用法:

描述:

参数:TraceSafepointCleanupTime
用法:

描述:

参数:TraceSharedLookupCache
用法:

描述:

参数:TraceSuspendWaitFailures
用法:

描述:

参数:TraceTypeProfile
用法:

描述:

参数:TrackedInitializationLimit
用法:

描述:

参数:TransmitErrorReport
用法:

描述:

参数:TrapBasedNullChecks
用法:

描述:

参数:TrapBasedRangeChecks
用法:

描述:

参数:TypeProfileArgsLimit
用法:

描述:

参数:TypeProfileLevel
用法:

描述:

参数:TypeProfileMajorReceiverPercent
用法:

描述:

参数:TypeProfileParmsLimit
用法:

描述:

参数:TypeProfileWidth
用法:

描述:

参数:UnguardOnExecutionViolation
用法:

描述:

参数:UnlinkSymbolsALot
用法:

描述:

参数:UnlockDiagnosticVMOptions
用法:

描述:

参数:UnrollLimitCheck
用法:

描述:

参数:UnsyncloadClass
用法:

描述:

参数:Use486InstrsOnly
用法:

描述:

参数:UseAES
用法:

描述:

参数:UseAESIntrinsics
用法:

描述:

参数:UseAVX
用法:

描述:

参数:UseAdaptiveGCBoundary
用法:

描述:

参数:UseAdaptiveGenerationSizePolicyAtMajorCollection
用法:

描述:

参数:UseAdaptiveGenerationSizePolicyAtMinorCollection
用法:

描述:

参数:UseAdaptiveNUMAChunkSizing
用法:

描述:

参数:UseAdaptiveSizeDecayMajorGCCost
用法:

描述:

参数:UseAdaptiveSizePolicy
用法: -XX:+UseAdaptiveSizePolicy

描述: PS算法下UseAdaptiveSizePolicy默认是打开的,开启这个参数之后,会判断young gc和full gc的上消耗的时间差。如果young gc>1.1倍full gc,threshold就会一直减少。反之,如果1.1倍young gc<full gc,threshold就会一直增加。 所以如果young gc比较频繁,那么threshold可能会一直减小,直到最小值1,这时候S区的对象很容易晋升到Old区,导致Old区空间涨幅过快而触发FullGC的频率也加快。

参数:UseAdaptiveSizePolicyFootprintGoal
用法:

描述:

参数:UseAdaptiveSizePolicyWithSystemGC
用法:

描述:

参数:UseAddressNop
用法:

描述:

参数:UseAltSigs
用法:

描述:

参数:UseAutoGCSelectPolicy
用法:

描述:

参数:UseBMI1Instructions
用法:

描述:

参数:UseBMI2Instructions
用法:

描述:

参数:UseBiasedLocking
用法:

描述:

参数:UseBimorphicInlining
用法:

描述:

参数:UseBoundThreads
用法:

描述:

参数:UseCLMUL
用法:

描述:

参数:UseCMSBestFit
用法:

描述:

参数:UseCMSCollectionPassing
用法:

描述:

参数:UseCMSCompactAtFullCollection
用法: -XX:+UseCMSCompactAtFullCollection

描述: Full GC时对Old区进行压缩,对性能有一定影响,可通过CMSFullGCsBeforeCompaction参数指定多少次Full GC后再压缩Old区

参数:UseCMSInitiatingOccupancyOnly
用法: -XX:+UseCMSInitiatingOccupancyOnly

描述: 只有满足CMSInitiatingOccupancyFraction这个条件时才触发CMS GC

参数:UseCRC32Intrinsics
用法:

描述:

参数:UseCodeCacheFlushing
用法:

描述:

参数:UseCompiler
用法:

描述:

参数:UseCompilerSafepoints
用法:

描述:

参数:UseCompressedClassPointers
用法:

描述:

参数:UseCompressedOops
用法: -XX:+UseCompressedOops

描述: Enables the use of compressed pointers (object references represented as 32 bit offsets instead of 64-bit pointers) for optimized 64-bit performance with Java heap sizes less than 32GB;
启用CompressOops后,会压缩的对象:1、每个Class的属性指针(静态成员变量),2、每个对象的属性指针,3、普通对象数组的每个元素指针

参数:UseConcMarkSweepGC
用法: -XX:+UseConcMarkSweepGC

描述: Old区使用CMS垃圾回收;

参数:UseCondCardMark
用法:

描述:

参数:UseCountLeadingZerosInstruction
用法:

描述:

参数:UseCountTrailingZerosInstruction
用法:

描述:

参数:UseCountedLoopSafepoints
用法:

描述:

参数:UseCounterDecay
用法:

描述:

参数:UseDivMod
用法:

描述:

参数:UseDynamicNumberOfGCThreads
用法:

描述:

参数:UseFPUForSpilling
用法:

描述:

参数:UseFastAccessorMethods
用法:

描述:

参数:UseFastEmptyMethods
用法:

描述:

参数:UseFastJNIAccessors
用法:

描述:

参数:UseFastStosb
用法:

描述:

参数:UseG1GC
用法:

描述:

参数:UseGCLogFileRotation
用法: -XX:+UseGCLogFileRotation

描述: 控制GClog文件滚动的开关

参数:UseGCOverheadLimit
用法:

描述:

参数:UseGCTaskAffinity
用法:

描述:

参数:UseHeavyMonitors
用法:

描述:

参数:UseHugeTLBFS
用法:

描述:

参数:UseImplicitStableValues
用法:

描述:

参数:UseIncDec
用法:

描述:

参数:UseInlineCaches
用法:

描述:

参数:UseInlineDepthForSpeculativeTypes
用法:

描述:

参数:UseInterpreter
用法:

描述:

参数:UseJumpTables
用法:

描述:

参数:UseLWPSynchronization
用法:

描述:

参数:UseLargePages
用法:

描述:

参数:UseLargePagesInMetaspace
用法:

描述:

参数:UseLargePagesIndividualAllocation
用法:

描述:

参数:UseLinuxPosixThreadCPUClocks
用法:

描述:

参数:UseLockedTracing
用法:

描述:

参数:UseLoopCounter
用法:

描述:

参数:UseLoopInvariantCodeMotion
用法:

描述:

参数:UseLoopPredicate
用法:

描述:

参数:UseMathExactIntrinsics
用法:

描述:

参数:UseMaximumCompactionOnSystemGC
用法:

描述:

参数:UseMembar
用法:

描述:

参数:UseMontgomeryMultiplyIntrinsic
用法:

描述:

参数:UseMontgomerySquareIntrinsic
用法:

描述:

参数:UseMulAddIntrinsic
用法:

描述:

参数:UseMultiplyToLenIntrinsic
用法:

描述:

参数:UseNUMA
用法:

描述:

参数:UseNUMAInterleaving
用法:

描述:

参数:UseNewCode
用法:

描述:

参数:UseNewCode2
用法:

描述:

参数:UseNewCode3
用法:

描述:

参数:UseNewLongLShift
用法:

描述:

参数:UseOSErrorReporting
用法:

描述:

参数:UseOldInlining
用法:

描述:

参数:UseOnStackReplacement
用法:

描述:

参数:UseOnlyInlinedBimorphic
用法:

描述:

参数:UseOprofile
用法:

描述:

参数:UseOptoBiasInlining
用法:

描述:

参数:UsePPCLWSYNC
用法:

描述:

参数:UsePSAdaptiveSurvivorSizePolicy
用法:

描述:

参数:UseParNewGC
用法:

描述:

参数:UseParallelGC
用法:

描述:

参数:UseParallelOldGC
用法:

描述:

参数:UsePerfData
用法: 创建(默认)–> -XX:-UsePerfData, 禁止创建–> -XX:+UsePerfData

描述: JVM启动过程中perf memory是否被创建, 如果设置关闭, 那么/tmp/hsperfdata_{user}/{pid}就不存在, Java工具就不能读取到相关JVM进程的统计信息;
另外这个文件是通过mmap映射到操作系统内存缓存page cache里的, 正常情况下操作系统flush dirty page是异步的, 但是当操作系统page cache脏页比例超过/proc/sys/vm/dirty_ratio指定比例时, 再生成脏页就会由异步改成同步操作,这时候操作系统会阻塞所有的写操作来进行Flush,就会造成JVM停顿,

参数:UsePopCountInstruction
用法:

描述:

参数:UseRDPCForConstantTableBase
用法:

描述:

参数:UseRTMDeopt
用法:

描述:

参数:UseRTMLocking
用法:

描述:

参数:UseSHA
用法:

描述:

参数:UseSHA1Intrinsics
用法:

描述:

参数:UseSHA256Intrinsics
用法:

描述:

参数:UseSHA512Intrinsics
用法:

描述:

参数:UseSHM
用法:

描述:

参数:UseSSE
用法:

描述:

参数:UseSSE42Intrinsics
用法:

描述:

参数:UseSerialGC
用法:

描述:

参数:UseSharedSpaces
用法:

描述:

参数:UseSignalChaining
用法:

描述:

参数:UseSplitVerifier
用法:

描述:

参数:UseSquareToLenIntrinsic
用法:

描述:

参数:UseStoreImmI16
用法:

描述:

参数:UseStringCache
用法:

描述:

参数:UseStringDeduplication
用法:

描述:

参数:UseSuperWord
用法:

描述:

参数:UseTLAB
用法:

描述:

参数:UseThreadPriorities
用法:

描述:

参数:UseTransparentHugePages
用法:

描述:

参数:UseTypeProfile
用法:

描述:

参数:UseTypeSpeculation
用法:

描述:

参数:UseUnalignedLoadStores
用法:

描述:

参数:UseVMInterruptibleIO
用法:

描述:

参数:UseVectoredExceptions
用法:

描述:

参数:UseXMMForArrayCopy
用法:

描述:

参数:UseXmmI2D
用法:

描述:

参数:UseXmmI2F
用法:

描述:

参数:UseXmmLoadAndClearUpper
用法:

描述:

参数:UseXmmRegToRegMoveAll
用法:

描述:

参数:VMThreadHintNoPreempt
用法:

描述:

参数:VMThreadPriority
用法:

描述:

参数:VMThreadStackSize
用法:

描述:

参数:ValueMapInitialSize
用法:

描述:

参数:ValueMapMaxLoopSize
用法:

描述:

参数:ValueSearchLimit
用法:

描述:

参数:VerboseVerification
用法:

描述:

参数:VerifyAdapterCalls
用法:

描述:

参数:VerifyAfterGC
用法:

描述:

参数:VerifyBeforeExit
用法:

描述:

参数:VerifyBeforeGC
用法:

描述:

参数:VerifyBeforeIteration
用法:

描述:

参数:VerifyDuringGC
用法:

描述:

参数:VerifyDuringStartup
用法:

描述:

参数:VerifyGCLevel
用法:

描述:

参数:VerifyGCStartAt
用法:

描述:

参数:VerifyMergedCPBytecodes
用法:

描述:

参数:VerifyMethodHandles
用法:

描述:

参数:VerifyObjectStartArray
用法:

描述:

参数:VerifyRememberedSets
用法:

描述:

参数:VerifySharedSpaces
用法:

描述:

参数:VerifySilently
用法:

描述:

参数:VerifyStringTableAtExit
用法:

描述:

参数:VerifySubSet
用法:

描述:

参数:WhiteBoxAPI
用法:

描述:

参数:WorkAroundNPTLTimedWaitHang
用法:

描述:

参数:YoungGenerationSizeIncrement
用法:

描述:

参数:YoungGenerationSizeSupplement
用法:

描述:

参数:YoungGenerationSizeSupplementDecay
用法:

描述:

参数:YoungPLABSize
用法:

描述:

参数:ZeroTLAB
用法:

描述:

作者:阿飞的博客

来源:https://www.jianshu.com/p/f5b3128c20f4


看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
  4. JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

    本文著作权归作者所有,如若转载,请注明出处

    转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

    标题:JVM所有参数一览

    链接:https://www.javajike.com/article/1777.html

« JVM参数MetaspaceSize的误解
OMG!又一个频繁FullGC案例»

相关推荐

QR code