本文讨论的选项是针对HotSpot虚拟机的。
HotspotJVM提供以下三大类选项:
1.1、标准选项
这类选项的功能是很稳定的,在后续版本中也不太会发生变化。
运行java或者 java -help 可以看到所有的标准选项。
语法:所有的标准选项都是以 - 开头,比如-version,-server等。
1.2、X选项
这类选项的功能还是很稳定,但官方的说法是它们的行为可能会在后续版本中改变,也有可能不在后续版本中提供了.
运行 java -X 命令可以看到所有的X选项。
语法:这类选项都是以 -X 开头,比如-Xms。
1.3、XX选项
这类选项是属于实验性,主要是给JVM开发者用于开发和调试JVM的,在后续的版本中行为有可能会变化。
语法:
- 如果是布尔类型的选项,它的格式为-XX:+flag或者-XX:-flag,分别表示开启和关闭该选项。
- 针对非布尔类型的选项,它的格式为-XX:flag=value
2、常用配置
2.1、指定JVM运行模式
Hotspot JVM有两种类型,分别是server和client。
它们的区别是Server VM的初始堆空间会大一些,默认使用的是并行垃圾回收器,启动慢运行快。Client VM相对来讲会保守一些,初始堆空间会小一些,使用串行的垃圾回收器,它的目标是为了让JVM的启动速度更快,但运行速度会比Server模式慢些。
JVM在启动的时候会根据硬件和操作系统自动选择使用Server还是Client类型的JVM。
- 在32位Windows系统上,不论硬件配置如何,都默认使用Client类型的JVM。
- 在其他32位操作系统上,如果机器配置有2GB以上的内存同时有2个以上的CPU,则默认会使用Server类型的JVM
- 64位机器上只有Server类型的JVM。也就是说Client类型的JVM只在32位机器上提供。
- 也可以使用-server和-client选项来指定JVM的类型,不过只在32位的机器上有效,原因见上面一条。
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server-class.html
2.2、指定JIT编译器模式
Java是一种解释型语言,但随着JIT技术的进步,它能在运行时将Java的字节码编译成本地代码。以下是几个相关的选项:
- -Xint表示禁用JIT,所有字节码都被解释执行,这个模式的速度最慢的。
- -Xcomp表示所有字节码都首先被编译成本地代码,然后再执行。
- -Xmixed,默认模式,让JIT根据程序运行的情况,有选择地将某些代码编译成本地代码。
-Xcomp和-Xmixed到底谁的速度快,针对不同的程序可能有不同的结果,基本还是推荐用默认模式。
2.3、查看Java版本
-version和-showversion
-version用于查看当前的 Java版本、JRE版本、JVM类型和版本。结果示例如下:
C:\Users\zsm>java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
java -showversion ExptoolMain
建议Server类型的程序都把-showversion选项打开,这样可以发现一些配置问题,比如程序需要JDK1.7才能运行,而有的机器上装有多个JDK的版本,打开这个选项可以避免使用了错误版本的Java。
2.4、打印设置的XX选项及值
有三个选项:-XX:+PrintCommandLineFlags、-XX:+PrintFlagsInitial、-XX:+PrintFlagsFinal
建议加上这个选项以辅助问题诊断。
如下示例显示了JVM自动配置的初始和最大的HeapSize以及其他的一些选项:
C:\Users\zsm>java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=132712832 -XX:MaxHeapSize=2123405312 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
从输出内容中的 “-XX:+UseParallelGC” 可见 Server模式下默认用的垃圾收集器类型。
-XX:+PrintFlagsInitial:表示打印出所有XX选项的默认值。示例如下:
1 C:\Users\zsm>java -XX:+PrintFlagsInitial -version 2 [Global flags] 3 uintx AdaptiveSizeDecrementScaleFactor = 4 {product} 4 uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product} 5 uintx AdaptiveSizePausePolicy = 0 {product} 6 uintx AdaptiveSizePolicyCollectionCostMargin = 50 {product} 7 uintx AdaptiveSizePolicyInitializingSteps = 20 {product} 8 uintx AdaptiveSizePolicyOutputInterval = 0 {product} 9 uintx AdaptiveSizePolicyWeight = 10 {product} 10 uintx AdaptiveSizeThroughPutPolicy = 0 {product} 11 uintx AdaptiveTimeWeight = 25 {product} 12 bool AdjustConcurrency = false {product} 13 bool AggressiveOpts = false {product} 14 intx AliasLevel = 3 {C2 product} 15 bool AlignVector = true {C2 product} 16 intx AllocateInstancePrefetchLines = 1 {product} 17 intx AllocatePrefetchDistance = -1 {product} 18 intx AllocatePrefetchInstr = 0 {product} 19 intx AllocatePrefetchLines = 3 {product} 20 intx AllocatePrefetchStepSize = 16 {product} 21 intx AllocatePrefetchStyle = 1 {product} 22 bool AllowJNIEnvProxy = false {product} 23 bool AllowNonVirtualCalls = false {product} 24 bool AllowParallelDefineClass = false {product} 25 bool AllowUserSignalHandlers = false {product} 26 bool AlwaysActAsServerClassMachine = false {product} 27 bool AlwaysCompileLoopMethods = false {product} 28 bool AlwaysLockClassLoader = false {product} 29 bool AlwaysPreTouch = false {product} 30 bool AlwaysRestoreFPU = false {product} 31 bool AlwaysTenure = false {product} 32 bool AssertOnSuspendWaitFailure = false {product} 33 bool AssumeMP = false {product} 34 intx AutoBoxCacheMax = 128 {C2 product} 35 uintx AutoGCSelectPauseMillis = 5000 {product} 36 intx BCEATraceLevel = 0 {product} 37 intx BackEdgeThreshold = 100000 {pd product} 38 bool BackgroundCompilation = true {pd product} 39 uintx BaseFootPrintEstimate = 268435456 {product} 40 intx BiasedLockingBulkRebiasThreshold = 20 {product} 41 intx BiasedLockingBulkRevokeThreshold = 40 {product} 42 intx BiasedLockingDecayTime = 25000 {product} 43 intx BiasedLockingStartupDelay = 4000 {product} 44 bool BindGCTaskThreadsToCPUs = false {product} 45 bool BlockLayoutByFrequency = true {C2 product} 46 intx BlockLayoutMinDiamondPercentage = 20 {C2 product} 47 bool BlockLayoutRotateLoops = true {C2 product} 48 bool BranchOnRegister = false {C2 product} 49 bool BytecodeVerificationLocal = false {product} 50 bool BytecodeVerificationRemote = true {product} 51 bool C1OptimizeVirtualCallProfiling = true {C1 product} 52 bool C1ProfileBranches = true {C1 product} 53 bool C1ProfileCalls = true {C1 product} 54 bool C1ProfileCheckcasts = true {C1 product} 55 bool C1ProfileInlinedCalls = true {C1 product} 56 bool C1ProfileVirtualCalls = true {C1 product} 57 bool C1UpdateMethodData = true {C1 product} 58 intx CICompilerCount = 2 {product} 59 bool CICompilerCountPerCPU = false {product} 60 bool CITime = false {product} 61 bool CMSAbortSemantics = false {product} 62 uintx CMSAbortablePrecleanMinWorkPerIteration = 100 {product} 63 intx CMSAbortablePrecleanWaitMillis = 100 {manageable} 64 uintx CMSBitMapYieldQuantum = 10485760 {product} 65 uintx CMSBootstrapOccupancy = 50 {product} 66 bool CMSClassUnloadingEnabled = true {product} 67 uintx CMSClassUnloadingMaxInterval = 0 {product} 68 bool CMSCleanOnEnter = true {product} 69 bool CMSCompactWhenClearAllSoftRefs = true {product} 70 uintx CMSConcMarkMultiple = 32 {product} 71 bool CMSConcurrentMTEnabled = true {product} 72 uintx CMSCoordinatorYieldSleepCount = 10 {product} 73 bool CMSDumpAtPromotionFailure = false {product} 74 bool CMSEdenChunksRecordAlways = true {product} 75 uintx CMSExpAvgFactor = 50 {product} 76 bool CMSExtrapolateSweep = false {product} 77 uintx CMSFullGCsBeforeCompaction = 0 {product} 78 uintx CMSIncrementalDutyCycle = 10 {product} 79 uintx CMSIncrementalDutyCycleMin = 0 {product} 80 bool CMSIncrementalMode = false {product} 81 uintx CMSIncrementalOffset = 0 {product} 82 bool CMSIncrementalPacing = true {product} 83 uintx CMSIncrementalSafetyFactor = 10 {product} 84 uintx CMSIndexedFreeListReplenish = 4 {product} 85 intx CMSInitiatingOccupancyFraction = -1 {product} 86 uintx CMSIsTooFullPercentage = 98 {product} 87 double CMSLargeCoalSurplusPercent = 0.950000 {product} 88 double CMSLargeSplitSurplusPercent = 1.000000 {product} 89 bool CMSLoopWarn = false {product} 90 uintx CMSMaxAbortablePrecleanLoops = 0 {product} 91 intx CMSMaxAbortablePrecleanTime = 5000 {product} 92 uintx CMSOldPLABMax = 1024 {product} 93 uintx CMSOldPLABMin = 16 {product} 94 uintx CMSOldPLABNumRefills = 4 {product} 95 uintx CMSOldPLABReactivityFactor = 2 {product} 96 bool CMSOldPLABResizeQuicker = false {product} 97 uintx CMSOldPLABToleranceFactor = 4 {product} 98 bool CMSPLABRecordAlways = true {product} 99 uintx CMSParPromoteBlocksToClaim = 16 {product} 100 bool CMSParallelInitialMarkEnabled = true {product} 101 bool CMSParallelRemarkEnabled = true {product} 102 bool CMSParallelSurvivorRemarkEnabled = true {product} 103 uintx CMSPrecleanDenominator = 3 {product} 104 uintx CMSPrecleanIter = 3 {product} 105 uintx CMSPrecleanNumerator = 2 {product} 106 bool CMSPrecleanRefLists1 = true {product} 107 bool CMSPrecleanRefLists2 = false {product} 108 bool CMSPrecleanSurvivors1 = false {product} 109 bool CMSPrecleanSurvivors2 = true {product} 110 uintx CMSPrecleanThreshold = 1000 {product} 111 bool CMSPrecleaningEnabled = true {product} 112 bool CMSPrintChunksInDump = false {product} 113 bool CMSPrintEdenSurvivorChunks = false {product} 114 bool CMSPrintObjectsInDump = false {product} 115 uintx CMSRemarkVerifyVariant = 1 {product} 116 bool CMSReplenishIntermediate = true {product} 117 uintx CMSRescanMultiple = 32 {product} 118 uintx CMSSamplingGrain = 16384 {product} 119 bool CMSScavengeBeforeRemark = false {product} 120 uintx CMSScheduleRemarkEdenPenetration = 50 {product} 121 uintx CMSScheduleRemarkEdenSizeThreshold = 2097152 {product} 122 uintx CMSScheduleRemarkSamplingRatio = 5 {product} 123 double CMSSmallCoalSurplusPercent = 1.050000 {product} 124 double CMSSmallSplitSurplusPercent = 1.100000 {product} 125 bool CMSSplitIndexedFreeListBlocks = true {product} 126 intx CMSTriggerInterval = -1 {manageable} 127 uintx CMSTriggerRatio = 80 {product} 128 intx CMSWaitDuration = 2000 {manageable} 129 uintx CMSWorkQueueDrainThreshold = 10 {product} 130 bool CMSYield = true {product} 131 uintx CMSYieldSleepCount = 0 {product} 132 uintx CMSYoungGenPerWorker = 67108864 {pd product} 133 uintx CMS_FLSPadding = 1 {product} 134 uintx CMS_FLSWeight = 75 {product} 135 uintx CMS_SweepPadding = 1 {product} 136 uintx CMS_SweepTimerThresholdMillis = 10 {product} 137 uintx CMS_SweepWeight = 75 {product} 138 bool CheckEndorsedAndExtDirs = false {product} 139 bool CheckJNICalls = false {product} 140 bool ClassUnloading = true {product} 141 bool ClassUnloadingWithConcurrentMark = true {product} 142 intx ClearFPUAtPark = 0 {product} 143 bool ClipInlining = true {product} 144 uintx CodeCacheExpansionSize = 65536 {pd product} 145 uintx CodeCacheMinimumFreeSpace = 512000 {product} 146 bool CollectGen0First = false {product} 147 bool CompactFields = true {product} 148 intx CompilationPolicyChoice = 0 {product} 149 ccstrlist CompileCommand = {product} 150 ccstr CompileCommandFile = {product} 151 ccstrlist CompileOnly = {product} 152 intx CompileThreshold = 10000 {pd product} 153 bool CompilerThreadHintNoPreempt = true {product} 154 intx CompilerThreadPriority = -1 {product} 155 intx CompilerThreadStackSize = 0 {pd product} 156 uintx CompressedClassSpaceSize = 1073741824 {product} 157 uintx ConcGCThreads = 0 {product} 158 intx ConditionalMoveLimit = 3 {C2 pd product} 159 intx ContendedPaddingWidth = 128 {product} 160 bool ConvertSleepToYield = true {pd product} 161 bool ConvertYieldToSleep = false {product} 162 bool CreateMinidumpOnCrash = false {product} 163 bool CriticalJNINatives = true {product} 164 bool DTraceAllocProbes = false {product} 165 bool DTraceMethodProbes = false {product} 166 bool DTraceMonitorProbes = false {product} 167 bool Debugging = false {product} 168 uintx DefaultMaxRAMFraction = 4 {product} 169 intx DefaultThreadPriority = -1 {product} 170 intx DeferPollingPageLoopCount = -1 {product} 171 intx DeferThrSuspendLoopCount = 4000 {product} 172 bool DeoptimizeRandom = false {product} 173 bool DisableAttachMechanism = false {product} 174 bool DisableExplicitGC = false {product} 175 bool DisplayVMOutputToStderr = false {product} 176 bool DisplayVMOutputToStdout = false {product} 177 bool DoEscapeAnalysis = true {C2 product} 178 bool DontCompileHugeMethods = true {product} 179 bool DontYieldALot = false {pd product} 180 ccstr DumpLoadedClassList = {product} 181 bool DumpReplayDataOnError = true {product} 182 bool DumpSharedSpaces = false {product} 183 bool EagerXrunInit = false {product} 184 intx EliminateAllocationArraySizeLimit = 64 {C2 product} 185 bool EliminateAllocations = true {C2 product} 186 bool EliminateAutoBox = true {C2 product} 187 bool EliminateLocks = true {C2 product} 188 bool EliminateNestedLocks = true {C2 product} 189 intx EmitSync = 0 {product} 190 bool EnableContended = true {product} 191 bool EnableSharedLookupCache = true {product} 192 bool EnableTracing = false {product} 193 uintx ErgoHeapSizeLimit = 0 {product} 194 ccstr ErrorFile = {product} 195 ccstr ErrorReportServer = {product} 196 double EscapeAnalysisTimeout = 20.000000 {C2 product} 197 bool EstimateArgEscape = true {product} 198 bool ExplicitGCInvokesConcurrent = false {product} 199 bool ExplicitGCInvokesConcurrentAndUnloadsClasses = false {product} 200 bool ExtendedDTraceProbes = false {product} 201 ccstr ExtraSharedClassListFile = {product} 202 bool FLSAlwaysCoalesceLarge = false {product} 203 uintx FLSCoalescePolicy = 2 {product} 204 double FLSLargestBlockCoalesceProximity = 0.990000 {product} 205 bool FailOverToOldVerifier = true {product} 206 bool FastTLABRefill = true {product} 207 intx FenceInstruction = 0 {ARCH product} 208 intx FieldsAllocationStyle = 1 {product} 209 bool FilterSpuriousWakeups = true {product} 210 ccstr FlightRecorderOptions = {product} 211 bool ForceNUMA = false {product} 212 bool ForceTimeHighResolution = false {product} 213 intx FreqInlineSize = 325 {pd product} 214 double G1ConcMarkStepDurationMillis = 10.000000 {product} 215 uintx G1ConcRSHotCardLimit = 4 {product} 216 uintx G1ConcRSLogCacheSize = 10 {product} 217 intx G1ConcRefinementGreenZone = 0 {product} 218 intx G1ConcRefinementRedZone = 0 {product} 219 intx G1ConcRefinementServiceIntervalMillis = 300 {product} 220 uintx G1ConcRefinementThreads = 0 {product} 221 intx G1ConcRefinementThresholdStep = 0 {product} 222 intx G1ConcRefinementYellowZone = 0 {product} 223 uintx G1ConfidencePercent = 50 {product} 224 uintx G1HeapRegionSize = 0 {product} 225 uintx G1HeapWastePercent = 5 {product} 226 uintx G1MixedGCCountTarget = 8 {product} 227 intx G1RSetRegionEntries = 0 {product} 228 uintx G1RSetScanBlockSize = 64 {product} 229 intx G1RSetSparseRegionEntries = 0 {product} 230 intx G1RSetUpdatingPauseTimePercent = 10 {product} 231 intx G1RefProcDrainInterval = 10 {product} 232 uintx G1ReservePercent = 10 {product} 233 uintx G1SATBBufferEnqueueingThresholdPercent = 60 {product} 234 intx G1SATBBufferSize = 1024 {product} 235 intx G1UpdateBufferSize = 256 {product} 236 bool G1UseAdaptiveConcRefinement = true {product} 237 uintx GCDrainStackTargetSize = 64 {product} 238 uintx GCHeapFreeLimit = 2 {product} 239 uintx GCLockerEdenExpansionPercent = 5 {product} 240 bool GCLockerInvokesConcurrent = false {product} 241 uintx GCLogFileSize = 8192 {product} 242 uintx GCPauseIntervalMillis = 0 {product} 243 uintx GCTaskTimeStampEntries = 200 {product} 244 uintx GCTimeLimit = 98 {product} 245 uintx GCTimeRatio = 99 {product} 246 uintx HeapBaseMinAddress = 2147483648 {pd product} 247 bool HeapDumpAfterFullGC = false {manageable} 248 bool HeapDumpBeforeFullGC = false {manageable} 249 bool HeapDumpOnOutOfMemoryError = false {manageable} 250 ccstr HeapDumpPath = {manageable} 251 uintx HeapFirstMaximumCompactionCount = 3 {product} 252 uintx HeapMaximumCompactionInterval = 20 {product} 253 uintx HeapSizePerGCThread = 87241520 {product} 254 bool IgnoreEmptyClassPaths = false {product} 255 bool IgnoreUnrecognizedVMOptions = false {product} 256 uintx IncreaseFirstTierCompileThresholdAt = 50 {product} 257 bool IncrementalInline = true {C2 product} 258 uintx InitialBootClassLoaderMetaspaceSize = 4194304 {product} 259 uintx InitialCodeCacheSize = 2555904 {pd product} 260 uintx InitialHeapSize = 0 {product} 261 uintx InitialRAMFraction = 64 {product} 262 uintx InitialSurvivorRatio = 8 {product} 263 uintx InitialTenuringThreshold = 7 {product} 264 uintx InitiatingHeapOccupancyPercent = 45 {product} 265 bool Inline = true {product} 266 ccstr InlineDataFile = {product} 267 intx InlineSmallCode = 1000 {pd product} 268 bool InlineSynchronizedMethods = true {C1 product} 269 bool InsertMemBarAfterArraycopy = true {C2 product} 270 intx InteriorEntryAlignment = 16 {C2 pd product} 271 intx InterpreterProfilePercentage = 33 {product} 272 bool JNIDetachReleasesMonitors = true {product} 273 bool JavaMonitorsInStackTrace = true {product} 274 intx JavaPriority10_To_OSPriority = -1 {product} 275 intx JavaPriority1_To_OSPriority = -1 {product} 276 intx JavaPriority2_To_OSPriority = -1 {product} 277 intx JavaPriority3_To_OSPriority = -1 {product} 278 intx JavaPriority4_To_OSPriority = -1 {product} 279 intx JavaPriority5_To_OSPriority = -1 {product} 280 intx JavaPriority6_To_OSPriority = -1 {product} 281 intx JavaPriority7_To_OSPriority = -1 {product} 282 intx JavaPriority8_To_OSPriority = -1 {product} 283 intx JavaPriority9_To_OSPriority = -1 {product} 284 bool LIRFillDelaySlots = false {C1 pd product} 285 uintx LargePageHeapSizeThreshold = 134217728 {product} 286 uintx LargePageSizeInBytes = 0 {product} 287 bool LazyBootClassLoader = true {product} 288 intx LiveNodeCountInliningCutoff = 40000 {C2 product} 289 bool LogCommercialFeatures = false {product} 290 intx LoopMaxUnroll = 16 {C2 product} 291 intx LoopOptsCount = 43 {C2 product} 292 intx LoopUnrollLimit = 60 {C2 pd product} 293 intx LoopUnrollMin = 4 {C2 product} 294 bool LoopUnswitching = true {C2 product} 295 bool ManagementServer = false {product} 296 uintx MarkStackSize = 4194304 {product} 297 uintx MarkStackSizeMax = 536870912 {product} 298 uintx MarkSweepAlwaysCompactCount = 4 {product} 299 uintx MarkSweepDeadRatio = 5 {product} 300 intx MaxBCEAEstimateLevel = 5 {product} 301 intx MaxBCEAEstimateSize = 150 {product} 302 uintx MaxDirectMemorySize = 0 {product} 303 bool MaxFDLimit = true {product} 304 uintx MaxGCMinorPauseMillis = 4294967295 {product} 305 uintx MaxGCPauseMillis = 4294967295 {product} 306 uintx MaxHeapFreeRatio = 70 {manageable} 307 uintx MaxHeapSize = 130862280 {product} 308 intx MaxInlineLevel = 9 {product} 309 intx MaxInlineSize = 35 {product} 310 intx MaxJNILocalCapacity = 65536 {product} 311 intx MaxJavaStackTraceDepth = 1024 {product} 312 intx MaxJumpTableSize = 65000 {C2 product} 313 intx MaxJumpTableSparseness = 5 {C2 product} 314 intx MaxLabelRootDepth = 1100 {C2 product} 315 intx MaxLoopPad = 15 {C2 product} 316 uintx MaxMetaspaceExpansion = 5452592 {product} 317 uintx MaxMetaspaceFreeRatio = 70 {product} 318 uintx MaxMetaspaceSize = 4294967295 {product} 319 uintx MaxNewSize = 4294967295 {product} 320 intx MaxNodeLimit = 80000 {C2 product} 321 uint64_t MaxRAM = 0 {pd product} 322 uintx MaxRAMFraction = 4 {product} 323 intx MaxRecursiveInlineLevel = 1 {product} 324 uintx MaxTenuringThreshold = 15 {product} 325 intx MaxTrivialSize = 6 {product} 326 intx MaxVectorSize = 32 {C2 product} 327 uintx MetaspaceSize = 21810376 {pd product} 328 bool MethodFlushing = true {product} 329 uintx MinHeapDeltaBytes = 170392 {product} 330 uintx MinHeapFreeRatio = 40 {manageable} 331 intx MinInliningThreshold = 250 {product} 332 intx MinJumpTableSize = 10 {C2 pd product} 333 uintx MinMetaspaceExpansion = 340784 {product} 334 uintx MinMetaspaceFreeRatio = 40 {product} 335 uintx MinRAMFraction = 2 {product} 336 uintx MinSurvivorRatio = 3 {product} 337 uintx MinTLABSize = 2048 {product} 338 intx MonitorBound = 0 {product} 339 bool MonitorInUseLists = false {product} 340 intx MultiArrayExpandLimit = 6 {C2 product} 341 bool MustCallLoadClassInternal = false {product} 342 uintx NUMAChunkResizeWeight = 20 {product} 343 uintx NUMAInterleaveGranularity = 2097152 {product} 344 uintx NUMAPageScanRate = 256 {product} 345 uintx NUMASpaceResizeRate = 1073741824 {product} 346 bool NUMAStats = false {product} 347 ccstr NativeMemoryTracking = off {product} 348 bool NeedsDeoptSuspend = false {pd product} 349 bool NeverActAsServerClassMachine = false {pd product} 350 bool NeverTenure = false {product} 351 uintx NewRatio = 2 {product} 352 uintx NewSize = 1363144 {product} 353 uintx NewSizeThreadIncrease = 5320 {pd product} 354 intx NmethodSweepActivity = 10 {product} 355 intx NmethodSweepCheckInterval = 5 {product} 356 intx NmethodSweepFraction = 16 {product} 357 intx NodeLimitFudgeFactor = 2000 {C2 product} 358 uintx NumberOfGCLogFiles = 0 {product} 359 intx NumberOfLoopInstrToAlign = 4 {C2 product} 360 intx ObjectAlignmentInBytes = 8 {lp64_product} 361 uintx OldPLABSize = 1024 {product} 362 uintx OldPLABWeight = 50 {product} 363 uintx OldSize = 5452592 {product} 364 bool OmitStackTraceInFastThrow = true {product} 365 ccstrlist OnError = {product} 366 ccstrlist OnOutOfMemoryError = {product} 367 intx OnStackReplacePercentage = 140 {pd product} 368 bool OptimizeFill = true {C2 product} 369 bool OptimizePtrCompare = true {C2 product} 370 bool OptimizeStringConcat = true {C2 product} 371 bool OptoBundling = false {C2 pd product} 372 intx OptoLoopAlignment = 16 {pd product} 373 bool OptoScheduling = false {C2 pd product} 374 uintx PLABWeight = 75 {product} 375 bool PSChunkLargeArrays = true {product} 376 intx ParGCArrayScanChunk = 50 {product} 377 uintx ParGCDesiredObjsFromOverflowList = 20 {product} 378 bool ParGCTrimOverflow = true {product} 379 bool ParGCUseLocalOverflow = false {product} 380 uintx ParallelGCBufferWastePct = 10 {product} 381 uintx ParallelGCThreads = 0 {product} 382 bool ParallelGCVerbose = false {product} 383 uintx ParallelOldDeadWoodLimiterMean = 50 {product} 384 uintx ParallelOldDeadWoodLimiterStdDev = 80 {product} 385 bool ParallelRefProcBalancingEnabled = true {product} 386 bool ParallelRefProcEnabled = false {product} 387 bool PartialPeelAtUnsignedTests = true {C2 product} 388 bool PartialPeelLoop = true {C2 product} 389 intx PartialPeelNewPhiDelta = 0 {C2 product} 390 uintx PausePadding = 1 {product} 391 intx PerBytecodeRecompilationCutoff = 200 {product} 392 intx PerBytecodeTrapLimit = 4 {product} 393 intx PerMethodRecompilationCutoff = 400 {product} 394 intx PerMethodTrapLimit = 100 {product} 395 bool PerfAllowAtExitRegistration = false {product} 396 bool PerfBypassFileSystemCheck = false {product} 397 intx PerfDataMemorySize = 32768 {product} 398 intx PerfDataSamplingInterval = 50 {product} 399 ccstr PerfDataSaveFile = {product} 400 bool PerfDataSaveToFile = false {product} 401 bool PerfDisableSharedMem = false {product} 402 intx PerfMaxStringConstLength = 1024 {product} 403 intx PreInflateSpin = 10 {pd product} 404 bool PreferInterpreterNativeStubs = false {pd product} 405 intx PrefetchCopyIntervalInBytes = -1 {product} 406 intx PrefetchFieldsAhead = -1 {product} 407 intx PrefetchScanIntervalInBytes = -1 {product} 408 bool PreserveAllAnnotations = false {product} 409 uintx PretenureSizeThreshold = 0 {product} 410 bool PrintAdaptiveSizePolicy = false {product} 411 bool PrintCMSInitiationStatistics = false {product} 412 intx PrintCMSStatistics = 0 {product} 413 bool PrintClassHistogram = false {manageable} 414 bool PrintClassHistogramAfterFullGC = false {manageable} 415 bool PrintClassHistogramBeforeFullGC = false {manageable} 416 bool PrintCodeCache = false {product} 417 bool PrintCodeCacheOnCompilation = false {product} 418 bool PrintCommandLineFlags = false {product} 419 bool PrintCompilation = false {product} 420 bool PrintConcurrentLocks = false {manageable} 421 intx PrintFLSCensus = 0 {product} 422 intx PrintFLSStatistics = 0 {product} 423 bool PrintFlagsFinal = false {product} 424 bool PrintFlagsInitial = false {product} 425 bool PrintGC = false {manageable} 426 bool PrintGCApplicationConcurrentTime = false {product} 427 bool PrintGCApplicationStoppedTime = false {product} 428 bool PrintGCCause = true {product} 429 bool PrintGCDateStamps = false {manageable} 430 bool PrintGCDetails = false {manageable} 431 bool PrintGCID = false {manageable} 432 bool PrintGCTaskTimeStamps = false {product} 433 bool PrintGCTimeStamps = false {manageable} 434 bool PrintHeapAtGC = false {product rw} 435 bool PrintHeapAtGCExtended = false {product rw} 436 bool PrintHeapAtSIGBREAK = true {product} 437 bool PrintJNIGCStalls = false {product} 438 bool PrintJNIResolving = false {product} 439 bool PrintOldPLAB = false {product} 440 bool PrintOopAddress = false {product} 441 bool PrintPLAB = false {product} 442 bool PrintParallelOldGCPhaseTimes = false {product} 443 bool PrintPromotionFailure = false {product} 444 bool PrintReferenceGC = false {product} 445 bool PrintSafepointStatistics = false {product} 446 intx PrintSafepointStatisticsCount = 300 {product} 447 intx PrintSafepointStatisticsTimeout = -1 {product} 448 bool PrintSharedArchiveAndExit = false {product} 449 bool PrintSharedDictionary = false {product} 450 bool PrintSharedSpaces = false {product} 451 bool PrintStringDeduplicationStatistics = false {product} 452 bool PrintStringTableStatistics = false {product} 453 bool PrintTLAB = false {product} 454 bool PrintTenuringDistribution = false {product} 455 bool PrintTieredEvents = false {product} 456 bool PrintVMOptions = false {product} 457 bool PrintVMQWaitTime = false {product} 458 bool PrintWarnings = true {product} 459 uintx ProcessDistributionStride = 4 {product} 460 bool ProfileInterpreter = true {pd product} 461 bool ProfileIntervals = false {product} 462 intx ProfileIntervalsTicks = 100 {product} 463 intx ProfileMaturityPercentage = 20 {product} 464 bool ProfileVM = false {product} 465 bool ProfilerPrintByteCodeStatistics = false {product} 466 bool ProfilerRecordPC = false {product} 467 uintx PromotedPadding = 3 {product} 468 uintx QueuedAllocationWarningCount = 0 {product} 469 uintx RTMRetryCount = 5 {ARCH product} 470 bool RangeCheckElimination = true {product} 471 intx ReadPrefetchInstr = 0 {ARCH product} 472 bool ReassociateInvariants = true {C2 product} 473 bool ReduceBulkZeroing = true {C2 product} 474 bool ReduceFieldZeroing = true {C2 product} 475 bool ReduceInitialCardMarks = true {C2 product} 476 bool ReduceSignalUsage = false {product} 477 intx RefDiscoveryPolicy = 0 {product} 478 bool ReflectionWrapResolutionErrors = true {product} 479 bool RegisterFinalizersAtInit = true {product} 480 bool RelaxAccessControlCheck = false {product} 481 ccstr ReplayDataFile = {product} 482 bool RequireSharedSpaces = false {product} 483 uintx ReservedCodeCacheSize = 50331648 {pd product} 484 bool ResizeOldPLAB = true {product} 485 bool ResizePLAB = true {product} 486 bool ResizeTLAB = true {pd product} 487 bool RestoreMXCSROnJNICalls = false {product} 488 bool RestrictContended = true {product} 489 bool RewriteBytecodes = true {pd product} 490 bool RewriteFrequentPairs = true {pd product} 491 intx SafepointPollOffset = 256 {C1 pd product} 492 intx SafepointSpinBeforeYield = 2000 {product} 493 bool SafepointTimeout = false {product} 494 intx SafepointTimeoutDelay = 10000 {product} 495 bool ScavengeBeforeFullGC = true {product} 496 intx SelfDestructTimer = 0 {product} 497 uintx SharedBaseAddress = 0 {product} 498 ccstr SharedClassListFile = {product} 499 uintx SharedMiscCodeSize = 122880 {product} 500 uintx SharedMiscDataSize = 4194304 {product} 501 uintx SharedReadOnlySize = 16777216 {product} 502 uintx SharedReadWriteSize = 16777216 {product} 503 bool ShowMessageBoxOnError = false {product} 504 intx SoftRefLRUPolicyMSPerMB = 1000 {product} 505 bool SpecialEncodeISOArray = true {C2 product} 506 bool SplitIfBlocks = true {C2 product} 507 intx StackRedPages = 1 {pd product} 508 intx StackShadowPages = 6 {pd product} 509 bool StackTraceInThrowable = true {product} 510 intx StackYellowPages = 3 {pd product} 511 bool StartAttachListener = false {product} 512 intx StarvationMonitorInterval = 200 {product} 513 bool StressLdcRewrite = false {product} 514 uintx StringDeduplicationAgeThreshold = 3 {product} 515 uintx StringTableSize = 60013 {product} 516 bool SuppressFatalErrorMessage = false {product} 517 uintx SurvivorPadding = 3 {product} 518 uintx SurvivorRatio = 8 {product} 519 intx SuspendRetryCount = 50 {product} 520 intx SuspendRetryDelay = 5 {product} 521 intx SyncFlags = 0 {product} 522 ccstr SyncKnobs = {product} 523 intx SyncVerbose = 0 {product} 524 uintx TLABAllocationWeight = 35 {product} 525 uintx TLABRefillWasteFraction = 64 {product} 526 uintx TLABSize = 0 {product} 527 bool TLABStats = true {product} 528 uintx TLABWasteIncrement = 4 {product} 529 uintx TLABWasteTargetPercent = 1 {product} 530 uintx TargetPLABWastePct = 10 {product} 531 uintx TargetSurvivorRatio = 50 {product} 532 uintx TenuredGenerationSizeIncrement = 20 {product} 533 uintx TenuredGenerationSizeSupplement = 80 {product} 534 uintx TenuredGenerationSizeSupplementDecay = 2 {product} 535 intx ThreadPriorityPolicy = 0 {product} 536 bool ThreadPriorityVerbose = false {product} 537 uintx ThreadSafetyMargin = 52428800 {product} 538 intx ThreadStackSize = 0 {pd product} 539 uintx ThresholdTolerance = 10 {product} 540 intx Tier0BackedgeNotifyFreqLog = 10 {product} 541 intx Tier0InvokeNotifyFreqLog = 7 {product} 542 intx Tier0ProfilingStartPercentage = 200 {product} 543 intx Tier23InlineeNotifyFreqLog = 20 {product} 544 intx Tier2BackEdgeThreshold = 0 {product} 545 intx Tier2BackedgeNotifyFreqLog = 14 {product} 546 intx Tier2CompileThreshold = 0 {product} 547 intx Tier2InvokeNotifyFreqLog = 11 {product} 548 intx Tier3BackEdgeThreshold = 60000 {product} 549 intx Tier3BackedgeNotifyFreqLog = 13 {product} 550 intx Tier3CompileThreshold = 2000 {product} 551 intx Tier3DelayOff = 2 {product} 552 intx Tier3DelayOn = 5 {product} 553 intx Tier3InvocationThreshold = 200 {product} 554 intx Tier3InvokeNotifyFreqLog = 10 {product} 555 intx Tier3LoadFeedback = 5 {product} 556 intx Tier3MinInvocationThreshold = 100 {product} 557 intx Tier4BackEdgeThreshold = 40000 {product} 558 intx Tier4CompileThreshold = 15000 {product} 559 intx Tier4InvocationThreshold = 5000 {product} 560 intx Tier4LoadFeedback = 3 {product} 561 intx Tier4MinInvocationThreshold = 600 {product} 562 bool TieredCompilation = true {pd product} 563 intx TieredCompileTaskTimeout = 50 {product} 564 intx TieredRateUpdateMaxTime = 25 {product} 565 intx TieredRateUpdateMinTime = 1 {product} 566 intx TieredStopAtLevel = 4 {product} 567 bool TimeLinearScan = false {C1 product} 568 bool TraceBiasedLocking = false {product} 569 bool TraceClassLoading = false {product rw} 570 bool TraceClassLoadingPreorder = false {product} 571 bool TraceClassPaths = false {product} 572 bool TraceClassResolution = false {product} 573 bool TraceClassUnloading = false {product rw} 574 bool TraceDynamicGCThreads = false {product} 575 bool TraceGen0Time = false {product} 576 bool TraceGen1Time = false {product} 577 ccstr TraceJVMTI = {product} 578 bool TraceLoaderConstraints = false {product rw} 579 bool TraceMetadataHumongousAllocation = false {product} 580 bool TraceMonitorInflation = false {product} 581 bool TraceParallelOldGCTasks = false {product} 582 intx TraceRedefineClasses = 0 {product} 583 bool TraceSafepointCleanupTime = false {product} 584 bool TraceSharedLookupCache = false {product} 585 bool TraceSuspendWaitFailures = false {product} 586 intx TrackedInitializationLimit = 50 {C2 product} 587 bool TransmitErrorReport = false {product} 588 bool TrapBasedNullChecks = false {pd product} 589 bool TrapBasedRangeChecks = false {C2 pd product} 590 intx TypeProfileArgsLimit = 2 {product} 591 uintx TypeProfileLevel = 111 {pd product} 592 intx TypeProfileMajorReceiverPercent = 90 {C2 product} 593 intx TypeProfileParmsLimit = 2 {product} 594 intx TypeProfileWidth = 2 {product} 595 intx UnguardOnExecutionViolation = 0 {product} 596 bool UnlinkSymbolsALot = false {product} 597 bool Use486InstrsOnly = false {ARCH product} 598 bool UseAES = false {product} 599 bool UseAESIntrinsics = false {product} 600 intx UseAVX = 99 {ARCH product} 601 bool UseAdaptiveGCBoundary = false {product} 602 bool UseAdaptiveGenerationSizePolicyAtMajorCollection = true {product} 603 bool UseAdaptiveGenerationSizePolicyAtMinorCollection = true {product} 604 bool UseAdaptiveNUMAChunkSizing = true {product} 605 bool UseAdaptiveSizeDecayMajorGCCost = true {product} 606 bool UseAdaptiveSizePolicy = true {product} 607 bool UseAdaptiveSizePolicyFootprintGoal = true {product} 608 bool UseAdaptiveSizePolicyWithSystemGC = false {product} 609 bool UseAddressNop = false {ARCH product} 610 bool UseAltSigs = false {product} 611 bool UseAutoGCSelectPolicy = false {product} 612 bool UseBMI1Instructions = false {ARCH product} 613 bool UseBMI2Instructions = false {ARCH product} 614 bool UseBiasedLocking = true {product} 615 bool UseBimorphicInlining = true {C2 product} 616 bool UseBoundThreads = true {product} 617 bool UseCLMUL = false {ARCH product} 618 bool UseCMSBestFit = true {product} 619 bool UseCMSCollectionPassing = true {product} 620 bool UseCMSCompactAtFullCollection = true {product} 621 bool UseCMSInitiatingOccupancyOnly = false {product} 622 bool UseCRC32Intrinsics = false {product} 623 bool UseCodeCacheFlushing = true {product} 624 bool UseCompiler = true {product} 625 bool UseCompilerSafepoints = true {product} 626 bool UseCompressedClassPointers = false {lp64_product} 627 bool UseCompressedOops = false {lp64_product} 628 bool UseConcMarkSweepGC = false {product} 629 bool UseCondCardMark = false {C2 product} 630 bool UseCountLeadingZerosInstruction = false {ARCH product} 631 bool UseCountTrailingZerosInstruction = false {ARCH product} 632 bool UseCounterDecay = true {product} 633 bool UseDivMod = true {C2 product} 634 bool UseDynamicNumberOfGCThreads = false {product} 635 bool UseFPUForSpilling = false {C2 product} 636 bool UseFastAccessorMethods = true {product} 637 bool UseFastEmptyMethods = true {product} 638 bool UseFastJNIAccessors = true {product} 639 bool UseFastStosb = false {ARCH product} 640 bool UseG1GC = false {product} 641 bool UseGCLogFileRotation = false {product} 642 bool UseGCOverheadLimit = true {product} 643 bool UseGCTaskAffinity = false {product} 644 bool UseHeavyMonitors = false {product} 645 bool UseInlineCaches = true {product} 646 bool UseInterpreter = true {product} 647 bool UseJumpTables = true {C2 product} 648 bool UseLWPSynchronization = true {product} 649 bool UseLargePages = false {pd product} 650 bool UseLargePagesInMetaspace = false {product} 651 bool UseLargePagesIndividualAllocation := false {pd product} 652 bool UseLockedTracing = false {product} 653 bool UseLoopCounter = true {product} 654 bool UseLoopInvariantCodeMotion = true {C1 product} 655 bool UseLoopPredicate = true {C2 product} 656 bool UseMathExactIntrinsics = true {C2 product} 657 bool UseMaximumCompactionOnSystemGC = true {product} 658 bool UseMembar = false {pd product} 659 bool UseMultiplyToLenIntrinsic = false {C2 product} 660 bool UseNUMA = false {product} 661 bool UseNUMAInterleaving = false {product} 662 bool UseNewLongLShift = false {ARCH product} 663 bool UseOSErrorReporting = false {pd product} 664 bool UseOldInlining = true {C2 product} 665 bool UseOnStackReplacement = true {pd product} 666 bool UseOnlyInlinedBimorphic = true {C2 product} 667 bool UseOptoBiasInlining = true {C2 product} 668 bool UsePSAdaptiveSurvivorSizePolicy = true {product} 669 bool UseParNewGC = false {product} 670 bool UseParallelGC = false {product} 671 bool UseParallelOldGC = false {product} 672 bool UsePerfData = true {product} 673 bool UsePopCountInstruction = false {product} 674 bool UseRDPCForConstantTableBase = false {C2 product} 675 bool UseRTMDeopt = false {ARCH product} 676 bool UseRTMLocking = false {ARCH product} 677 bool UseSHA = false {product} 678 bool UseSHA1Intrinsics = false {product} 679 bool UseSHA256Intrinsics = false {product} 680 bool UseSHA512Intrinsics = false {product} 681 intx UseSSE = 99 {product} 682 bool UseSSE42Intrinsics = false {product} 683 bool UseSerialGC = false {product} 684 bool UseSharedSpaces = true {product} 685 bool UseSignalChaining = true {product} 686 bool UseStoreImmI16 = true {ARCH product} 687 bool UseStringDeduplication = false {product} 688 bool UseSuperWord = true {C2 product} 689 bool UseTLAB = true {pd product} 690 bool UseThreadPriorities = true {pd product} 691 bool UseTypeProfile = true {product} 692 bool UseTypeSpeculation = true {C2 product} 693 bool UseUTCFileTimestamp = true {product} 694 bool UseUnalignedLoadStores = false {ARCH product} 695 bool UseVMInterruptibleIO = false {product} 696 bool UseXMMForArrayCopy = false {product} 697 bool UseXmmI2D = false {ARCH product} 698 bool UseXmmI2F = false {ARCH product} 699 bool UseXmmLoadAndClearUpper = true {ARCH product} 700 bool UseXmmRegToRegMoveAll = false {ARCH product} 701 bool VMThreadHintNoPreempt = false {product} 702 intx VMThreadPriority = -1 {product} 703 intx VMThreadStackSize = 0 {pd product} 704 intx ValueMapInitialSize = 11 {C1 product} 705 intx ValueMapMaxLoopSize = 8 {C1 product} 706 intx ValueSearchLimit = 1000 {C2 product} 707 bool VerifyMergedCPBytecodes = true {product} 708 bool VerifySharedSpaces = false {product} 709 intx WorkAroundNPTLTimedWaitHang = 1 {product} 710 uintx YoungGenerationSizeIncrement = 20 {product} 711 uintx YoungGenerationSizeSupplement = 80 {product} 712 uintx YoungGenerationSizeSupplementDecay = 8 {product} 713 uintx YoungPLABSize = 4096 {product} 714 bool ZeroTLAB = false {product} 715 intx hashCode = 5 {product}