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