Все опции JVM

Чтобы посмотреть, какие опции поддерживает ваша версия Java, запускаем:

java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal

и получаем на экране полный список:

У меня на Java 11 получилось 879 опций:

[Global flags]
ccstrlist AOTLibrary                               =                                           {product} {default}
    ccstr AbortVMOnException                       =                                        {diagnostic} {default}
    ccstr AbortVMOnExceptionMessage                =                                        {diagnostic} {default}
      int ActiveProcessorCount                     = -1                                        {product} {default}
    uintx AdaptiveSizeDecrementScaleFactor         = 4                                         {product} {default}
    uintx AdaptiveSizeMajorGCDecayTimeScale        = 10                                        {product} {default}
    uintx AdaptiveSizePolicyCollectionCostMargin   = 50                                        {product} {default}
    uintx AdaptiveSizePolicyInitializingSteps      = 20                                        {product} {default}
    uintx AdaptiveSizePolicyOutputInterval         = 0                                         {product} {default}
    uintx AdaptiveSizePolicyWeight                 = 10                                        {product} {default}
    uintx AdaptiveSizeThroughPutPolicy             = 0                                         {product} {default}
    uintx AdaptiveTimeWeight                       = 25                                        {product} {default}
     bool AggressiveHeap                           = false                                     {product} {default}
     bool AggressiveOpts                           = false                                     {product} {default}
     bool AggressiveUnboxing                       = false                             {C2 experimental} {default}
     intx AliasLevel                               = 3                                      {C2 product} {default}
     bool AlignVector                              = true                                   {C2 product} {default}
    ccstr AllocateHeapAt                           =                                           {product} {default}
     intx AllocateInstancePrefetchLines            = 1                                         {product} {default}
     intx AllocatePrefetchDistance                 = 256                                       {product} {default}
     intx AllocatePrefetchInstr                    = 3                                         {product} {default}
     intx AllocatePrefetchLines                    = 3                                         {product} {default}
     intx AllocatePrefetchStepSize                 = 64                                        {product} {default}
     intx AllocatePrefetchStyle                    = 1                                         {product} {default}
     bool AllowJNIEnvProxy                         = false                                     {product} {default}
     bool AllowNonVirtualCalls                     = false                                     {product} {default}
     bool AllowParallelDefineClass                 = false                                     {product} {default}
     bool AllowUserSignalHandlers                  = false                                     {product} {default}
     bool AllowVectorizeOnDemand                   = true                                   {C2 product} {default}
     bool AlwaysActAsServerClassMachine            = false                                     {product} {default}
     bool AlwaysAtomicAccesses                     = false                                {experimental} {default}
     bool AlwaysCompileLoopMethods                 = false                                     {product} {default}
     bool AlwaysLockClassLoader                    = false                                     {product} {default}
     bool AlwaysPreTouch                           = false                                     {product} {default}
     bool AlwaysRestoreFPU                         = false                                     {product} {default}
     bool AlwaysSafeConstructors                   = false                                {experimental} {default}
     bool AlwaysTenure                             = false                                     {product} {default}
   size_t ArrayAllocatorMallocLimit                = 18446744073709551615                 {experimental} {default}
     intx ArrayCopyLoadStoreMaxElem                = 8                                      {C2 product} {default}
     bool AssertOnSuspendWaitFailure               = false                                     {product} {default}
     bool AssumeMP                                 = true                                      {product} {default}
     intx AutoBoxCacheMax                          = 128                                    {C2 product} {default}
     intx BCEATraceLevel                           = 0                                         {product} {default}
     bool BackgroundCompilation                    = true                                   {pd product} {default}
   size_t BaseFootPrintEstimate                    = 268435456                                 {product} {default}
     intx BiasedLockingBulkRebiasThreshold         = 20                                        {product} {default}
     intx BiasedLockingBulkRevokeThreshold         = 40                                        {product} {default}
     intx BiasedLockingDecayTime                   = 25000                                     {product} {default}
     intx BiasedLockingStartupDelay                = 0                                         {product} {default}
     bool BindCMSThreadToCPU                       = false                                  {diagnostic} {default}
     bool BindGCTaskThreadsToCPUs                  = false                                     {product} {default}
     bool BlockLayoutByFrequency                   = true                                   {C2 product} {default}
     intx BlockLayoutMinDiamondPercentage          = 20                                     {C2 product} {default}
     bool BlockLayoutRotateLoops                   = true                                   {C2 product} {default}
     bool BlockOffsetArrayUseUnallocatedBlock      = false                                  {diagnostic} {default}
     bool BootstrapJVMCI                           = false                          {JVMCI experimental} {default}
     bool BranchOnRegister                         = false                                  {C2 product} {default}
     bool BytecodeVerificationLocal                = false                                     {product} {default}
     bool BytecodeVerificationRemote               = true                                      {product} {default}
     bool C1OptimizeVirtualCallProfiling           = true                                   {C1 product} {default}
     bool C1ProfileBranches                        = true                                   {C1 product} {default}
     bool C1ProfileCalls                           = true                                   {C1 product} {default}
     bool C1ProfileCheckcasts                      = true                                   {C1 product} {default}
     bool C1ProfileInlinedCalls                    = true                                   {C1 product} {default}
     bool C1ProfileVirtualCalls                    = true                                   {C1 product} {default}
     bool C1UpdateMethodData                       = true                                   {C1 product} {default}
     intx CICompilerCount                          = 3                                         {product} {ergonomic}
     bool CICompilerCountPerCPU                    = true                                      {product} {default}
     bool CIPrintCompileQueue                      = false                                  {diagnostic} {default}
     bool CITime                                   = false                                     {product} {default}
     bool CMSAbortSemantics                        = false                                     {product} {default}
    uintx CMSAbortablePrecleanMinWorkPerIteration  = 100                                       {product} {default}
     intx CMSAbortablePrecleanWaitMillis           = 100                                    {manageable} {default}
   size_t CMSBitMapYieldQuantum                    = 10485760                                  {product} {default}
    uintx CMSBootstrapOccupancy                    = 50                                        {product} {default}
     bool CMSClassUnloadingEnabled                 = true                                      {product} {default}
    uintx CMSClassUnloadingMaxInterval             = 0                                         {product} {default}
     bool CMSCleanOnEnter                          = true                                      {product} {default}
   size_t CMSConcMarkMultiple                      = 32                                        {product} {default}
     bool CMSConcurrentMTEnabled                   = true                                      {product} {default}
    uintx CMSCoordinatorYieldSleepCount            = 10                                        {product} {default}
     bool CMSEdenChunksRecordAlways                = true                                      {product} {default}
    uintx CMSExpAvgFactor                          = 50                                        {product} {default}
     bool CMSExtrapolateSweep                      = false                                     {product} {default}
    uintx CMSIncrementalSafetyFactor               = 10                                        {product} {default}
    uintx CMSIndexedFreeListReplenish              = 4                                         {product} {default}
     intx CMSInitiatingOccupancyFraction           = -1                                        {product} {default}
    uintx CMSIsTooFullPercentage                   = 98                                        {product} {default}
   double CMSLargeCoalSurplusPercent               = 0.950000                                  {product} {default}
   double CMSLargeSplitSurplusPercent              = 1.000000                                  {product} {default}
     bool CMSLoopWarn                              = false                                     {product} {default}
    uintx CMSMaxAbortablePrecleanLoops             = 0                                         {product} {default}
     intx CMSMaxAbortablePrecleanTime              = 5000                                      {product} {default}
   size_t CMSOldPLABMax                            = 1024                                      {product} {default}
   size_t CMSOldPLABMin                            = 16                                        {product} {default}
    uintx CMSOldPLABNumRefills                     = 4                                         {product} {default}
    uintx CMSOldPLABReactivityFactor               = 2                                         {product} {default}
     bool CMSOldPLABResizeQuicker                  = false                                     {product} {default}
    uintx CMSOldPLABToleranceFactor                = 4                                         {product} {default}
     bool CMSPLABRecordAlways                      = true                                      {product} {default}
     bool CMSParallelInitialMarkEnabled            = true                                      {product} {default}
     bool CMSParallelRemarkEnabled                 = true                                      {product} {default}
     bool CMSParallelSurvivorRemarkEnabled         = true                                      {product} {default}
    uintx CMSPrecleanDenominator                   = 3                                         {product} {default}
    uintx CMSPrecleanIter                          = 3                                         {product} {default}
    uintx CMSPrecleanNumerator                     = 2                                         {product} {default}
     bool CMSPrecleanRefLists1                     = true                                      {product} {default}
     bool CMSPrecleanRefLists2                     = false                                     {product} {default}
     bool CMSPrecleanSurvivors1                    = false                                     {product} {default}
     bool CMSPrecleanSurvivors2                    = true                                      {product} {default}
    uintx CMSPrecleanThreshold                     = 1000                                      {product} {default}
     bool CMSPrecleaningEnabled                    = true                                      {product} {default}
     bool CMSPrintChunksInDump                     = false                                     {product} {default}
     bool CMSPrintObjectsInDump                    = false                                     {product} {default}
    uintx CMSRemarkVerifyVariant                   = 1                                         {product} {default}
     bool CMSReplenishIntermediate                 = true                                      {product} {default}
   size_t CMSRescanMultiple                        = 32                                        {product} {default}
    uintx CMSSamplingGrain                         = 16384                                     {product} {default}
     bool CMSScavengeBeforeRemark                  = false                                     {product} {default}
    uintx CMSScheduleRemarkEdenPenetration         = 50                                        {product} {default}
   size_t CMSScheduleRemarkEdenSizeThreshold       = 2097152                                   {product} {default}
    uintx CMSScheduleRemarkSamplingRatio           = 5                                         {product} {default}
   double CMSSmallCoalSurplusPercent               = 1.050000                                  {product} {default}
   double CMSSmallSplitSurplusPercent              = 1.100000                                  {product} {default}
     bool CMSSplitIndexedFreeListBlocks            = true                                      {product} {default}
     intx CMSTriggerInterval                       = -1                                     {manageable} {default}
    uintx CMSTriggerRatio                          = 80                                        {product} {default}
     intx CMSWaitDuration                          = 2000                                   {manageable} {default}
    uintx CMSWorkQueueDrainThreshold               = 10                                        {product} {default}
     bool CMSYield                                 = true                                      {product} {default}
    uintx CMSYieldSleepCount                       = 0                                         {product} {default}
   size_t CMSYoungGenPerWorker                     = 67108864                               {pd product} {default}
    uintx CMS_FLSPadding                           = 1                                         {product} {default}
    uintx CMS_FLSWeight                            = 75                                        {product} {default}
    uintx CMS_SweepPadding                         = 1                                         {product} {default}
    uintx CMS_SweepTimerThresholdMillis            = 10                                        {product} {default}
    uintx CMS_SweepWeight                          = 75                                        {product} {default}
    uintx CPUForCMSThread                          = 0                                      {diagnostic} {default}
     bool CalculateClassFingerprint                = false                                     {product} {default}
     bool CheckIntrinsics                          = true                                   {diagnostic} {default}
     bool CheckJNICalls                            = false                                     {product} {default}
     bool ClassUnloading                           = true                                      {product} {default}
     bool ClassUnloadingWithConcurrentMark         = true                                      {product} {default}
     bool ClipInlining                             = true                                      {product} {default}
    uintx CodeCacheExpansionSize                   = 65536                                  {pd product} {default}
    uintx CodeCacheMinBlockLength                  = 4                                   {pd diagnostic} {default}
     bool CompactFields                            = true                                      {product} {default}
     bool CompactStrings                           = true                                   {pd product} {default}
     intx CompilationPolicyChoice                  = 2                                         {product} {default}
ccstrlist CompileCommand                           =                                           {product} {default}
    ccstr CompileCommandFile                       =                                           {product} {default}
ccstrlist CompileOnly                              =                                           {product} {default}
     intx CompileThreshold                         = 10000                                  {pd product} {default}
   double CompileThresholdScaling                  = 1.000000                                  {product} {default}
    ccstr CompilerDirectivesFile                   =                                        {diagnostic} {default}
     bool CompilerDirectivesIgnoreCompileCommands  = false                                  {diagnostic} {default}
      int CompilerDirectivesLimit                  = 50                                     {diagnostic} {default}
     bool CompilerDirectivesPrint                  = false                                  {diagnostic} {default}
     bool CompilerThreadHintNoPreempt              = false                                     {product} {default}
     intx CompilerThreadPriority                   = -1                                        {product} {default}
     intx CompilerThreadStackSize                  = 0                                      {pd product} {default}
   size_t CompressedClassSpaceSize                 = 1073741824                                {product} {default}
     uint ConcGCThreads                            = 1                                         {product} {ergonomic}
     intx ConditionalMoveLimit                     = 3                                   {C2 pd product} {default}
     intx ContendedPaddingWidth                    = 128                                       {product} {default}
     bool CrashOnOutOfMemoryError                  = false                                     {product} {default}
     bool CreateCoredumpOnCrash                    = true                                      {product} {default}
     bool CriticalJNINatives                       = true                                      {product} {default}
     bool DTraceAllocProbes                        = false                                     {product} {default}
     bool DTraceMethodProbes                       = false                                     {product} {default}
     bool DTraceMonitorProbes                      = false                                     {product} {default}
     bool DebugInlinedCalls                        = true                                {C2 diagnostic} {default}
     bool DebugNonSafepoints                       = false                                  {diagnostic} {default}
     bool Debugging                                = false                                     {product} {default}
     bool DeferInitialCardMark                     = false                                  {diagnostic} {default}
     bool DeoptimizeRandom                         = false                                     {product} {default}
     bool DisableAttachMechanism                   = false                                     {product} {default}
     bool DisableExplicitGC                        = false                                     {product} {default}
ccstrlist DisableIntrinsic                         =                                        {diagnostic} {default}
     bool DisablePrimordialThreadGuardPages        = false                                {experimental} {default}
     bool DisplayVMOutput                          = true                                   {diagnostic} {default}
     bool DisplayVMOutputToStderr                  = false                                     {product} {default}
     bool DisplayVMOutputToStdout                  = false                                     {product} {default}
     bool DoEscapeAnalysis                         = true                                   {C2 product} {default}
     bool DoReserveCopyInSuperWord                 = true                                   {C2 product} {default}
     intx DominatorSearchLimit                     = 1000                                {C2 diagnostic} {default}
     bool DontCompileHugeMethods                   = true                                      {product} {default}
     bool DontYieldALot                            = false                                  {pd product} {default}
    ccstr DumpLoadedClassList                      =                                           {product} {default}
     bool DumpReplayDataOnError                    = true                                      {product} {default}
     bool DumpSharedSpaces                         = false                                     {product} {default}
     bool DynamicallyResizeSystemDictionaries      = true                                   {diagnostic} {default}
     bool EagerJVMCI                               = false                          {JVMCI experimental} {default}
     bool EagerXrunInit                            = false                                     {product} {default}
     intx EliminateAllocationArraySizeLimit        = 64                                     {C2 product} {default}
     bool EliminateAllocations                     = true                                   {C2 product} {default}
     bool EliminateAutoBox                         = true                                   {C2 product} {default}
     bool EliminateLocks                           = true                                   {C2 product} {default}
     bool EliminateNestedLocks                     = true                                   {C2 product} {default}
     intx EmitSync                                 = 0                                    {experimental} {default}
     bool EnableContended                          = true                                      {product} {default}
     bool EnableDynamicAgentLoading                = true                                      {product} {default}
     bool EnableJVMCI                              = false                          {JVMCI experimental} {default}
     bool EnableThreadSMRExtraValidityChecks       = true                                   {diagnostic} {default}
     bool EnableThreadSMRStatistics                = false                                  {diagnostic} {default}
     bool EpsilonElasticTLAB                       = true                                 {experimental} {default}
     bool EpsilonElasticTLABDecay                  = true                                 {experimental} {default}
   size_t EpsilonMaxTLABSize                       = 4194304                              {experimental} {default}
   size_t EpsilonMinHeapExpand                     = 134217728                            {experimental} {default}
   size_t EpsilonPrintHeapSteps                    = 20                                   {experimental} {default}
   size_t EpsilonTLABDecayTime                     = 1000                                 {experimental} {default}
   double EpsilonTLABElasticity                    = 1.100000                             {experimental} {default}
   size_t EpsilonUpdateCountersStep                = 1048576                              {experimental} {default}
   size_t ErgoHeapSizeLimit                        = 0                                         {product} {default}
    ccstr ErrorFile                                =                                           {product} {default}
 uint64_t ErrorLogTimeout                          = 120                                       {product} {default}
    ccstr ErrorReportServer                        =                                           {product} {default}
   double EscapeAnalysisTimeout                    = 20.000000                              {C2 product} {default}
     bool EstimateArgEscape                        = true                                      {product} {default}
     bool ExecutingUnitTests                       = false                                     {product} {default}
     bool ExitOnOutOfMemoryError                   = false                                     {product} {default}
     bool ExplicitGCInvokesConcurrent              = false                                     {product} {default}
     bool ExtendedDTraceProbes                     = false                                     {product} {default}
    ccstr ExtraSharedClassListFile                 =                                           {product} {default}
     bool FLSAlwaysCoalesceLarge                   = false                                     {product} {default}
    uintx FLSCoalescePolicy                        = 2                                         {product} {default}
   double FLSLargestBlockCoalesceProximity         = 0.990000                                  {product} {default}
     bool FLSVerifyAllHeapReferences               = false                                  {diagnostic} {default}
     bool FLSVerifyIndexTable                      = false                                  {diagnostic} {default}
     bool FLSVerifyLists                           = false                                  {diagnostic} {default}
     bool FailOverToOldVerifier                    = true                                      {product} {default}
     intx FieldsAllocationStyle                    = 1                                         {product} {default}
     bool FilterSpuriousWakeups                    = true                                      {product} {default}
     bool FlightRecorder                           = false                                     {product} {default}
    ccstr FlightRecorderOptions                    =                                           {product} {default}
     bool FoldStableValues                         = true                                   {diagnostic} {default}
     bool ForceDynamicNumberOfGCThreads            = false                                  {diagnostic} {default}
     bool ForceNUMA                                = false                                     {product} {default}
     bool ForceTimeHighResolution                  = false                                     {product} {default}
     bool ForceUnreachable                         = false                                  {diagnostic} {default}
     intx FreqInlineSize                           = 325                                    {pd product} {default}
   size_t G1AdaptiveIHOPNumInitialSamples          = 3                                    {experimental} {default}
   double G1ConcMarkStepDurationMillis             = 10.000000                                 {product} {default}
    uintx G1ConcRSHotCardLimit                     = 4                                         {product} {default}
   size_t G1ConcRSLogCacheSize                     = 10                                        {product} {default}
   size_t G1ConcRefinementGreenZone                = 0                                         {product} {default}
   size_t G1ConcRefinementRedZone                  = 0                                         {product} {default}
    uintx G1ConcRefinementServiceIntervalMillis    = 300                                       {product} {default}
     uint G1ConcRefinementThreads                  = 4                                         {product} {ergonomic}
   size_t G1ConcRefinementThresholdStep            = 2                                         {product} {default}
   size_t G1ConcRefinementYellowZone               = 0                                         {product} {default}
    uintx G1ConfidencePercent                      = 50                                        {product} {default}
     bool G1EagerReclaimHumongousObjects           = true                                 {experimental} {default}
     bool G1EagerReclaimHumongousObjectsWithStaleRefs  = true                             {experimental} {default}
     intx G1ExpandByPercentOfAvailable             = 20                                   {experimental} {default}
   size_t G1HeapRegionSize                         = 1048576                                   {product} {ergonomic}
    uintx G1HeapWastePercent                       = 5                                         {product} {default}
   double G1LastPLABAverageOccupancy               = 50.000000                            {experimental} {default}
    uintx G1MaxNewSizePercent                      = 60                                   {experimental} {default}
    uintx G1MixedGCCountTarget                     = 8                                         {product} {default}
    uintx G1MixedGCLiveThresholdPercent            = 85                                   {experimental} {default}
    uintx G1NewSizePercent                         = 5                                    {experimental} {default}
    uintx G1OldCSetRegionThresholdPercent          = 10                                   {experimental} {default}
     bool G1PretouchAuxiliaryMemory                = false                                {experimental} {default}
     intx G1RSetRegionEntries                      = 256                                       {product} {default}
   size_t G1RSetScanBlockSize                      = 64                                        {product} {default}
     intx G1RSetSparseRegionEntries                = 4                                         {product} {default}
     intx G1RSetUpdatingPauseTimePercent           = 10                                        {product} {default}
   size_t G1RebuildRemSetChunkSize                 = 262144                               {experimental} {default}
     uint G1RefProcDrainInterval                   = 1000                                      {product} {default}
    uintx G1ReservePercent                         = 10                                        {product} {default}
    uintx G1SATBBufferEnqueueingThresholdPercent   = 60                                        {product} {default}
   size_t G1SATBBufferSize                         = 1024                                      {product} {default}
     intx G1SummarizeRSetStatsPeriod               = 0                                      {diagnostic} {default}
   size_t G1UpdateBufferSize                       = 256                                       {product} {default}
     bool G1UseAdaptiveConcRefinement              = true                                      {product} {default}
     bool G1UseAdaptiveIHOP                        = true                                      {product} {default}
     bool G1UseReferencePrecleaning                = true                                 {experimental} {default}
     bool G1VerifyHeapRegionCodeRoots              = false                                  {diagnostic} {default}
     bool G1VerifyRSetsDuringFullGC                = false                                  {diagnostic} {default}
    uintx GCDrainStackTargetSize                   = 64                                        {product} {ergonomic}
    uintx GCHeapFreeLimit                          = 2                                         {product} {default}
    uintx GCLockerEdenExpansionPercent             = 5                                         {product} {default}
     bool GCLockerInvokesConcurrent                = false                                     {product} {default}
    uintx GCLockerRetryAllocationCount             = 2                                      {diagnostic} {default}
     bool GCParallelVerificationEnabled            = true                                   {diagnostic} {default}
    uintx GCPauseIntervalMillis                    = 201                                       {product} {default}
     uint GCTaskTimeStampEntries                   = 200                                       {product} {default}
    uintx GCTimeLimit                              = 98                                        {product} {default}
    uintx GCTimeRatio                              = 12                                        {product} {default}
     intx GuaranteedSafepointInterval              = 1000                                   {diagnostic} {default}
     uint HandshakeTimeout                         = 0                                      {diagnostic} {default}
   size_t HeapBaseMinAddress                       = 2147483648                             {pd product} {default}
     bool HeapDumpAfterFullGC                      = false                                  {manageable} {default}
     bool HeapDumpBeforeFullGC                     = false                                  {manageable} {default}
     bool HeapDumpOnOutOfMemoryError               = false                                  {manageable} {default}
    ccstr HeapDumpPath                             =                                        {manageable} {default}
    uintx HeapFirstMaximumCompactionCount          = 3                                         {product} {default}
    uintx HeapMaximumCompactionInterval            = 20                                        {product} {default}
    uintx HeapSearchSteps                          = 3                                         {product} {default}
   size_t HeapSizePerGCThread                      = 43620760                                  {product} {default}
     intx HotMethodDetectionLimit                  = 100000                                 {diagnostic} {default}
     bool IdealizeClearArrayNode                   = true                             {C2 pd diagnostic} {default}
     bool IgnoreEmptyClassPaths                    = false                                     {product} {default}
     bool IgnoreUnrecognizedVMOptions              = false                                     {product} {default}
     bool IgnoreUnverifiableClassesDuringDump      = true                                   {diagnostic} {default}
     bool ImplicitNullChecks                       = true                                {pd diagnostic} {default}
    uintx IncreaseFirstTierCompileThresholdAt      = 50                                        {product} {default}
     bool IncrementalInline                        = true                                   {C2 product} {default}
     intx InitArrayShortSize                       = 64                                  {pd diagnostic} {default}
   size_t InitialBootClassLoaderMetaspaceSize      = 4194304                                   {product} {default}
    uintx InitialCodeCacheSize                     = 2555904                                {pd product} {default}
   size_t InitialHeapSize                          = 266338304                                 {product} {ergonomic}
    uintx InitialRAMFraction                       = 64                                        {product} {default}
   double InitialRAMPercentage                     = 1.562500                                  {product} {default}
    uintx InitialSurvivorRatio                     = 8                                         {product} {default}
    uintx InitialTenuringThreshold                 = 7                                         {product} {default}
    uintx InitiatingHeapOccupancyPercent           = 45                                        {product} {default}
     bool InjectGCWorkerCreationFailure            = false                                  {diagnostic} {default}
     bool Inline                                   = true                                      {product} {default}
     bool InlineArrayCopy                          = true                                   {diagnostic} {default}
     bool InlineClassNatives                       = true                                   {diagnostic} {default}
    ccstr InlineDataFile                           =                                           {product} {default}
     intx InlineFrequencyCount                     = 100                                 {pd diagnostic} {default}
     bool InlineMathNatives                        = true                                   {diagnostic} {default}
     bool InlineNIOCheckIndex                      = true                                {C1 diagnostic} {default}
     bool InlineNatives                            = true                                   {diagnostic} {default}
     bool InlineObjectCopy                         = true                                {C2 diagnostic} {default}
     bool InlineObjectHash                         = true                                   {diagnostic} {default}
     bool InlineReflectionGetCallerClass           = true                                {C2 diagnostic} {default}
     intx InlineSmallCode                          = 2000                                   {pd product} {default}
     bool InlineSynchronizedMethods                = true                                   {C1 product} {default}
     bool InlineThreadNatives                      = true                                   {diagnostic} {default}
     bool InlineUnsafeOps                          = true                                   {diagnostic} {default}
     bool InsertMemBarAfterArraycopy               = true                                   {C2 product} {default}
     intx InteriorEntryAlignment                   = 16                                  {C2 pd product} {default}
     intx InterpreterProfilePercentage             = 33                                        {product} {default}
     intx JVMCICounterSize                         = 0                              {JVMCI experimental} {default}
     bool JVMCICountersExcludeCompiler             = true                           {JVMCI experimental} {default}
     intx JVMCIHostThreads                         = 1                              {JVMCI experimental} {default}
     intx JVMCINMethodSizeLimit                    = 655360                         {JVMCI experimental} {default}
     bool JVMCIPrintProperties                     = false                          {JVMCI experimental} {default}
     intx JVMCIThreads                             = 1                              {JVMCI experimental} {default}
     intx JVMCITraceLevel                          = 0                              {JVMCI experimental} {default}
     bool JavaMonitorsInStackTrace                 = true                                      {product} {default}
     intx JavaPriority10_To_OSPriority             = -1                                        {product} {default}
     intx JavaPriority1_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority2_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority3_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority4_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority5_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority6_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority7_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority8_To_OSPriority              = -1                                        {product} {default}
     intx JavaPriority9_To_OSPriority              = -1                                        {product} {default}
     bool LIRFillDelaySlots                        = false                               {C1 pd product} {default}
   size_t LargePageHeapSizeThreshold               = 134217728                                 {product} {default}
   size_t LargePageSizeInBytes                     = 0                                         {product} {default}
     intx LiveNodeCountInliningCutoff              = 40000                                  {C2 product} {default}
     bool LogCompilation                           = false                                  {diagnostic} {default}
     bool LogEvents                                = true                                   {diagnostic} {default}
    uintx LogEventsBufferEntries                   = 10                                     {diagnostic} {default}
    ccstr LogFile                                  =                                        {diagnostic} {default}
     bool LogTouchedMethods                        = false                                  {diagnostic} {default}
     bool LogVMOutput                              = false                                  {diagnostic} {default}
     intx LoopMaxUnroll                            = 16                                     {C2 product} {default}
     intx LoopOptsCount                            = 43                                     {C2 product} {default}
     intx LoopPercentProfileLimit                  = 30                                  {C2 pd product} {default}
    uintx LoopStripMiningIter                      = 1000                                   {C2 product} {default}
    uintx LoopStripMiningIterShortLoop             = 100                                    {C2 product} {default}
     intx LoopUnrollLimit                          = 60                                  {C2 pd product} {default}
     intx LoopUnrollMin                            = 4                                      {C2 product} {default}
     bool LoopUnswitching                          = true                                   {C2 product} {default}
    uintx MallocMaxTestWords                       = 0                                      {diagnostic} {default}
     bool ManagementServer                         = false                                     {product} {default}
   size_t MarkStackSize                            = 4194304                                   {product} {ergonomic}
   size_t MarkStackSizeMax                         = 16777216                                  {product} {default}
     uint MarkSweepAlwaysCompactCount              = 4                                         {product} {default}
    uintx MarkSweepDeadRatio                       = 5                                         {product} {default}
     intx MaxBCEAEstimateLevel                     = 5                                         {product} {default}
     intx MaxBCEAEstimateSize                      = 150                                       {product} {default}
 uint64_t MaxDirectMemorySize                      = 0                                         {product} {default}
     bool MaxFDLimit                               = true                                      {product} {default}
    uintx MaxGCMinorPauseMillis                    = 18446744073709551615                      {product} {default}
    uintx MaxGCPauseMillis                         = 200                                       {product} {default}
    uintx MaxHeapFreeRatio                         = 70                                     {manageable} {default}
   size_t MaxHeapSize                              = 4259315712                                {product} {ergonomic}
     intx MaxInlineLevel                           = 9                                         {product} {default}
     intx MaxInlineSize                            = 35                                        {product} {default}
     intx MaxJNILocalCapacity                      = 65536                                     {product} {default}
     intx MaxJavaStackTraceDepth                   = 1024                                      {product} {default}
     intx MaxJumpTableSize                         = 65000                                  {C2 product} {default}
     intx MaxJumpTableSparseness                   = 5                                      {C2 product} {default}
     intx MaxLabelRootDepth                        = 1100                                   {C2 product} {default}
     intx MaxLoopPad                               = 11                                     {C2 product} {default}
   size_t MaxMetaspaceExpansion                    = 5451776                                   {product} {default}
    uintx MaxMetaspaceFreeRatio                    = 70                                        {product} {default}
   size_t MaxMetaspaceSize                         = 18446744073709486080                      {product} {default}
   size_t MaxNewSize                               = 2555379712                                {product} {ergonomic}
     intx MaxNodeLimit                             = 80000                                  {C2 product} {default}
 uint64_t MaxRAM                                   = 137438953472                           {pd product} {default}
    uintx MaxRAMFraction                           = 4                                         {product} {default}
   double MaxRAMPercentage                         = 25.000000                                 {product} {default}
     intx MaxRecursiveInlineLevel                  = 1                                         {product} {default}
    uintx MaxTenuringThreshold                     = 15                                        {product} {default}
     intx MaxTrivialSize                           = 6                                         {product} {default}
     intx MaxVectorSize                            = 32                                     {C2 product} {default}
   size_t MetaspaceSize                            = 21807104                               {pd product} {default}
     bool MethodFlushing                           = true                                      {product} {default}
     intx MethodProfileWidth                       = 0                              {JVMCI experimental} {default}
   size_t MinHeapDeltaBytes                        = 1048576                                   {product} {ergonomic}
    uintx MinHeapFreeRatio                         = 40                                     {manageable} {default}
     intx MinInliningThreshold                     = 250                                       {product} {default}
     intx MinJumpTableSize                         = 10                                  {C2 pd product} {default}
   size_t MinMetaspaceExpansion                    = 339968                                    {product} {default}
    uintx MinMetaspaceFreeRatio                    = 40                                        {product} {default}
     intx MinPassesBeforeFlush                     = 10                                     {diagnostic} {default}
    uintx MinRAMFraction                           = 2                                         {product} {default}
   double MinRAMPercentage                         = 50.000000                                 {product} {default}
    uintx MinSurvivorRatio                         = 3                                         {product} {default}
   size_t MinTLABSize                              = 2048                                      {product} {default}
     intx MonitorBound                             = 0                                         {product} {default}
     bool MonitorInUseLists                        = true                                      {product} {default}
     intx MonitorUsedDeflationThreshold            = 90                                   {experimental} {default}
     intx MultiArrayExpandLimit                    = 6                                      {C2 product} {default}
    uintx NUMAChunkResizeWeight                    = 20                                        {product} {default}
   size_t NUMAInterleaveGranularity                = 2097152                                   {product} {default}
    uintx NUMAPageScanRate                         = 256                                       {product} {default}
   size_t NUMASpaceResizeRate                      = 1073741824                                {product} {default}
     bool NUMAStats                                = false                                     {product} {default}
    ccstr NativeMemoryTracking                     = off                                       {product} {default}
     bool NeedsDeoptSuspend                        = false                                  {pd product} {default}
     bool NeverActAsServerClassMachine             = false                                  {pd product} {default}
     bool NeverTenure                              = false                                     {product} {default}
    uintx NewRatio                                 = 2                                         {product} {default}
   size_t NewSize                                  = 1363144                                   {product} {default}
   size_t NewSizeThreadIncrease                    = 5320                                   {pd product} {default}
     intx NmethodSweepActivity                     = 10                                        {product} {default}
     intx NodeLimitFudgeFactor                     = 2000                                   {C2 product} {default}
    uintx NonNMethodCodeHeapSize                   = 5830092                                {pd product} {ergonomic}
    uintx NonProfiledCodeHeapSize                  = 122914074                              {pd product} {ergonomic}
     intx NumberOfLoopInstrToAlign                 = 4                                      {C2 product} {default}
     intx ObjectAlignmentInBytes                   = 8                                    {lp64_product} {default}
   double ObjectCountCutOffPercent                 = 0.500000                             {experimental} {default}
   size_t OldPLABSize                              = 1024                                      {product} {default}
    uintx OldPLABWeight                            = 50                                        {product} {default}
   size_t OldSize                                  = 5452592                                   {product} {default}
     bool OmitStackTraceInFastThrow                = true                                      {product} {default}
ccstrlist OnError                                  =                                           {product} {default}
ccstrlist OnOutOfMemoryError                       =                                           {product} {default}
     intx OnStackReplacePercentage                 = 140                                    {pd product} {default}
     bool OptimizeExpensiveOps                     = true                                {C2 diagnostic} {default}
     bool OptimizeFill                             = true                                   {C2 product} {default}
     bool OptimizePtrCompare                       = true                                   {C2 product} {default}
     bool OptimizeStringConcat                     = true                                   {C2 product} {default}
     bool OptoBundling                             = false                               {C2 pd product} {default}
     intx OptoLoopAlignment                        = 16                                     {pd product} {default}
     bool OptoRegScheduling                        = true                                {C2 pd product} {default}
     bool OptoScheduling                           = false                               {C2 pd product} {default}
    uintx PLABWeight                               = 75                                        {product} {default}
     bool PSChunkLargeArrays                       = true                                      {product} {default}
      int ParGCArrayScanChunk                      = 50                                        {product} {default}
     intx ParGCCardsPerStrideChunk                 = 256                                    {diagnostic} {default}
    uintx ParGCDesiredObjsFromOverflowList         = 20                                        {product} {default}
    uintx ParGCStridesPerThread                    = 2                                      {diagnostic} {default}
     bool ParGCTrimOverflow                        = true                                      {product} {default}
     bool ParGCUseLocalOverflow                    = false                                     {product} {default}
    uintx ParallelGCBufferWastePct                 = 10                                        {product} {default}
     uint ParallelGCThreads                        = 4                                         {product} {default}
   size_t ParallelOldDeadWoodLimiterMean           = 50                                        {product} {default}
   size_t ParallelOldDeadWoodLimiterStdDev         = 80                                        {product} {default}
     bool ParallelRefProcBalancingEnabled          = true                                      {product} {default}
     bool ParallelRefProcEnabled                   = true                                      {product} {default}
     bool PartialPeelAtUnsignedTests               = true                                   {C2 product} {default}
     bool PartialPeelLoop                          = true                                   {C2 product} {default}
     intx PartialPeelNewPhiDelta                   = 0                                      {C2 product} {default}
     bool PauseAtExit                              = false                                  {diagnostic} {default}
     bool PauseAtStartup                           = false                                  {diagnostic} {default}
    ccstr PauseAtStartupFile                       =                                        {diagnostic} {default}
    uintx PausePadding                             = 1                                         {product} {default}
     intx PerBytecodeRecompilationCutoff           = 200                                       {product} {default}
     intx PerBytecodeTrapLimit                     = 4                                         {product} {default}
     intx PerMethodRecompilationCutoff             = 400                                       {product} {default}
     intx PerMethodSpecTrapLimit                   = 5000                                 {experimental} {default}
     intx PerMethodTrapLimit                       = 100                                       {product} {default}
     bool PerfAllowAtExitRegistration              = false                                     {product} {default}
     bool PerfBypassFileSystemCheck                = false                                     {product} {default}
     intx PerfDataMemorySize                       = 32768                                     {product} {default}
     intx PerfDataSamplingInterval                 = 50                                        {product} {default}
    ccstr PerfDataSaveFile                         =                                           {product} {default}
     bool PerfDataSaveToFile                       = false                                     {product} {default}
     bool PerfDisableSharedMem                     = false                                     {product} {default}
     intx PerfMaxStringConstLength                 = 1024                                      {product} {default}
     bool PostLoopMultiversioning                  = false                             {C2 experimental} {default}
   size_t PreTouchParallelChunkSize                = 1073741824                                {product} {default}
     bool PreferInterpreterNativeStubs             = false                                  {pd product} {default}
     intx PrefetchCopyIntervalInBytes              = 576                                       {product} {default}
     intx PrefetchFieldsAhead                      = 1                                         {product} {default}
     intx PrefetchScanIntervalInBytes              = 576                                       {product} {default}
     bool PreserveAllAnnotations                   = false                                     {product} {default}
     bool PreserveFramePointer                     = false                                  {pd product} {default}
   size_t PretenureSizeThreshold                   = 0                                         {product} {default}
     bool PrintAOT                                 = false                                     {product} {default}
     bool PrintAdapterHandlers                     = false                                  {diagnostic} {default}
     bool PrintAssembly                            = false                                  {diagnostic} {default}
    ccstr PrintAssemblyOptions                     =                                        {diagnostic} {default}
     bool PrintBiasedLockingStatistics             = false                                  {diagnostic} {default}
     bool PrintBootstrap                           = true                           {JVMCI experimental} {default}
     bool PrintClassHistogram                      = false                                  {manageable} {default}
     bool PrintCodeCache                           = false                                     {product} {default}
     bool PrintCodeCacheOnCompilation              = false                                     {product} {default}
     bool PrintCommandLineFlags                    = false                                     {product} {default}
     bool PrintCompilation                         = false                                     {product} {default}
     bool PrintCompilation2                        = false                                  {diagnostic} {default}
     bool PrintConcurrentLocks                     = false                                  {manageable} {default}
     bool PrintExtendedThreadInfo                  = false                                     {product} {default}
     bool PrintFlagsFinal                          = true                                      {product} {command line}
     bool PrintFlagsInitial                        = false                                     {product} {default}
     bool PrintFlagsRanges                         = false                                     {product} {default}
     bool PrintGC                                  = false                                     {product} {default}
     bool PrintGCDetails                           = false                                     {product} {default}
     bool PrintHeapAtSIGBREAK                      = true                                      {product} {default}
     bool PrintInlining                            = false                                  {diagnostic} {default}
     bool PrintInterpreter                         = false                                  {diagnostic} {default}
     bool PrintIntrinsics                          = false                               {C2 diagnostic} {default}
     bool PrintJNIResolving                        = false                                     {product} {default}
     bool PrintMethodData                          = false                                  {diagnostic} {default}
     bool PrintMethodFlushingStatistics            = false                                  {diagnostic} {default}
     bool PrintMethodHandleStubs                   = false                                  {diagnostic} {default}
     bool PrintNMTStatistics                       = false                                  {diagnostic} {default}
     bool PrintNMethods                            = false                                  {diagnostic} {default}
     bool PrintNativeNMethods                      = false                                  {diagnostic} {default}
     bool PrintOptoAssembly                        = false                               {C2 diagnostic} {default}
     bool PrintPreciseBiasedLockingStatistics      = false                               {C2 diagnostic} {default}
     bool PrintPreciseRTMLockingStatistics         = false                               {C2 diagnostic} {default}
     bool PrintSafepointStatistics                 = false                                     {product} {default}
     intx PrintSafepointStatisticsCount            = 300                                       {product} {default}
     intx PrintSafepointStatisticsTimeout          = -1                                        {product} {default}
     bool PrintSharedArchiveAndExit                = false                                     {product} {default}
     bool PrintSharedDictionary                    = false                                     {product} {default}
     bool PrintSignatureHandlers                   = false                                  {diagnostic} {default}
     bool PrintStringTableStatistics               = false                                     {product} {default}
     bool PrintStubCode                            = false                                  {diagnostic} {default}
     bool PrintTieredEvents                        = false                                     {product} {default}
     bool PrintTouchedMethodsAtExit                = false                                  {diagnostic} {default}
     bool PrintVMOptions                           = false                                     {product} {default}
     bool PrintVMQWaitTime                         = false                                     {product} {default}
     bool PrintWarnings                            = true                                      {product} {default}
    uintx ProcessDistributionStride                = 4                                         {product} {default}
     bool ProfileDynamicTypes                      = true                                {C2 diagnostic} {default}
     bool ProfileInterpreter                       = true                                   {pd product} {default}
     bool ProfileIntervals                         = false                                     {product} {default}
     intx ProfileIntervalsTicks                    = 100                                       {product} {default}
     intx ProfileMaturityPercentage                = 20                                        {product} {default}
     bool ProfileVM                                = false                                     {product} {default}
    uintx ProfiledCodeHeapSize                     = 122914074                              {pd product} {ergonomic}
     intx ProfilerNumberOfCompiledMethods          = 25                                     {diagnostic} {default}
     intx ProfilerNumberOfInterpretedMethods       = 25                                     {diagnostic} {default}
     intx ProfilerNumberOfRuntimeStubNodes         = 25                                     {diagnostic} {default}
     intx ProfilerNumberOfStubMethods              = 25                                     {diagnostic} {default}
     bool ProfilerPrintByteCodeStatistics          = false                                     {product} {default}
     bool ProfilerRecordPC                         = false                                     {product} {default}
    uintx PromotedPadding                          = 3                                         {product} {default}
    uintx QueuedAllocationWarningCount             = 0                                         {product} {default}
      int RTMAbortRatio                            = 50                              {ARCH experimental} {default}
      int RTMAbortThreshold                        = 1000                            {ARCH experimental} {default}
     intx RTMLockingCalculationDelay               = 0                               {ARCH experimental} {default}
      int RTMLockingThreshold                      = 10000                           {ARCH experimental} {default}
      int RTMRetryCount                            = 5                                    {ARCH product} {default}
      int RTMSpinLoopCount                         = 100                             {ARCH experimental} {default}
      int RTMTotalCountIncrRate                    = 64                              {ARCH experimental} {default}
     bool RangeCheckElimination                    = true                                      {product} {default}
     bool ReassociateInvariants                    = true                                   {C2 product} {default}
     bool ReduceBulkZeroing                        = true                                   {C2 product} {default}
     bool ReduceFieldZeroing                       = true                                   {C2 product} {default}
     bool ReduceInitialCardMarks                   = true                                   {C2 product} {default}
     bool ReduceNumberOfCompilerThreads            = true                                   {diagnostic} {default}
     bool ReduceSignalUsage                        = false                                     {product} {default}
     intx RefDiscoveryPolicy                       = 0                                         {product} {default}
   size_t ReferencesPerThread                      = 1000                                 {experimental} {default}
     bool RegisterFinalizersAtInit                 = true                                      {product} {default}
     bool RelaxAccessControlCheck                  = false                                     {product} {default}
    ccstr ReplayDataFile                           =                                           {product} {default}
     bool RequireSharedSpaces                      = false                                     {product} {default}
    uintx ReservedCodeCacheSize                    = 251658240                              {pd product} {ergonomic}
     bool ResizeOldPLAB                            = true                                      {product} {default}
     bool ResizePLAB                               = true                                      {product} {default}
     bool ResizeTLAB                               = true                                   {pd product} {default}
     bool RestoreMXCSROnJNICalls                   = false                                     {product} {default}
     bool RestrictContended                        = true                                      {product} {default}
     bool RestrictReservedStack                    = true                                      {product} {default}
     bool RewriteBytecodes                         = true                                   {pd product} {default}
     bool RewriteFrequentPairs                     = true                                   {pd product} {default}
     bool SafepointTimeout                         = false                                     {product} {default}
     intx SafepointTimeoutDelay                    = 10000                                     {product} {default}
     bool ScavengeBeforeFullGC                     = false                                     {product} {default}
     intx ScavengeRootsInCode                      = 2                                      {diagnostic} {default}
     bool SegmentedCodeCache                       = true                                      {product} {ergonomic}
     intx SelfDestructTimer                        = 0                                         {product} {default}
     bool SerializeVMOutput                        = true                                   {diagnostic} {default}
    ccstr SharedArchiveConfigFile                  =                                           {product} {default}
    ccstr SharedArchiveFile                        =                                           {product} {default}
   size_t SharedBaseAddress                        = 34359738368                               {product} {default}
    ccstr SharedClassListFile                      =                                           {product} {default}
    uintx SharedSymbolTableBucketSize              = 4                                         {product} {default}
     bool ShowHiddenFrames                         = false                                  {diagnostic} {default}
     bool ShowMessageBoxOnError                    = false                                     {product} {default}
     bool ShowRegistersOnAssert                    = false                                  {diagnostic} {default}
     bool ShrinkHeapInSteps                        = true                                      {product} {default}
     intx SoftRefLRUPolicyMSPerMB                  = 1000                                      {product} {default}
     intx SpecTrapLimitExtraEntries                = 3                                    {experimental} {default}
     bool SpecialArraysEquals                      = true                                {C2 diagnostic} {default}
     bool SpecialEncodeISOArray                    = true                                {C2 diagnostic} {default}
     bool SpecialStringCompareTo                   = true                                {C2 diagnostic} {default}
     bool SpecialStringEquals                      = true                                {C2 diagnostic} {default}
     bool SpecialStringIndexOf                     = true                                {C2 diagnostic} {default}
     bool SplitIfBlocks                            = true                                   {C2 product} {default}
     intx StackRedPages                            = 1                                      {pd product} {default}
     intx StackReservedPages                       = 0                                      {pd product} {default}
     intx StackShadowPages                         = 7                                      {pd product} {default}
     bool StackTraceInThrowable                    = true                                      {product} {default}
     intx StackYellowPages                         = 3                                      {pd product} {default}
    uintx StartAggressiveSweepingAt                = 10                                        {product} {default}
     bool StartAttachListener                      = false                                     {product} {default}
    ccstr StartFlightRecording                     =                                           {product} {default}
     bool StressCodeAging                          = false                                  {diagnostic} {default}
     bool StressGCM                                = false                               {C2 diagnostic} {default}
     bool StressLCM                                = false                               {C2 diagnostic} {default}
     bool StressLdcRewrite                         = false                                     {product} {default}
    uintx StringDeduplicationAgeThreshold          = 3                                         {product} {default}
     bool StringDeduplicationRehashALot            = false                                  {diagnostic} {default}
     bool StringDeduplicationResizeALot            = false                                  {diagnostic} {default}
    uintx StringTableSize                          = 65536                                     {product} {default}
     bool SuperWordLoopUnrollAnalysis              = true                                {C2 pd product} {default}
     bool SuperWordReductions                      = true                                   {C2 product} {default}
     bool SuppressFatalErrorMessage                = false                                     {product} {default}
     intx SurvivorAlignmentInBytes                 = 8                                    {experimental} {default}
    uintx SurvivorPadding                          = 3                                         {product} {default}
    uintx SurvivorRatio                            = 8                                         {product} {default}
     intx SuspendRetryCount                        = 50                                        {product} {default}
     intx SuspendRetryDelay                        = 5                                         {product} {default}
    uintx SymbolTableSize                          = 20011                                {experimental} {default}
     intx SyncFlags                                = 0                                    {experimental} {default}
    ccstr SyncKnobs                                =                                      {experimental} {default}
     intx SyncVerbose                              = 0                                    {experimental} {default}
    uintx TLABAllocationWeight                     = 35                                        {product} {default}
    uintx TLABRefillWasteFraction                  = 64                                        {product} {default}
   size_t TLABSize                                 = 0                                         {product} {default}
     bool TLABStats                                = true                                      {product} {default}
    uintx TLABWasteIncrement                       = 4                                         {product} {default}
    uintx TLABWasteTargetPercent                   = 1                                         {product} {default}
    uintx TargetPLABWastePct                       = 10                                        {product} {default}
    uintx TargetSurvivorRatio                      = 50                                        {product} {default}
    uintx TenuredGenerationSizeIncrement           = 20                                        {product} {default}
    uintx TenuredGenerationSizeSupplement          = 80                                        {product} {default}
    uintx TenuredGenerationSizeSupplementDecay     = 2                                         {product} {default}
     bool ThreadLocalHandshakes                    = true                                   {pd product} {default}
     intx ThreadPriorityPolicy                     = 0                                         {product} {default}
     bool ThreadPriorityVerbose                    = false                                     {product} {default}
     intx ThreadStackSize                          = 0                                      {pd product} {default}
    uintx ThresholdTolerance                       = 10                                        {product} {default}
     intx Tier0BackedgeNotifyFreqLog               = 10                                        {product} {default}
     intx Tier0InvokeNotifyFreqLog                 = 7                                         {product} {default}
     intx Tier0ProfilingStartPercentage            = 200                                       {product} {default}
     intx Tier23InlineeNotifyFreqLog               = 20                                        {product} {default}
     intx Tier2BackEdgeThreshold                   = 0                                         {product} {default}
     intx Tier2BackedgeNotifyFreqLog               = 14                                        {product} {default}
     intx Tier2CompileThreshold                    = 0                                         {product} {default}
     intx Tier2InvokeNotifyFreqLog                 = 11                                        {product} {default}
     intx Tier3AOTBackEdgeThreshold                = 120000                                    {product} {default}
     intx Tier3AOTCompileThreshold                 = 15000                                     {product} {default}
     intx Tier3AOTInvocationThreshold              = 10000                                     {product} {default}
     intx Tier3AOTMinInvocationThreshold           = 1000                                      {product} {default}
     intx Tier3BackEdgeThreshold                   = 60000                                     {product} {default}
     intx Tier3BackedgeNotifyFreqLog               = 13                                        {product} {default}
     intx Tier3CompileThreshold                    = 2000                                      {product} {default}
     intx Tier3DelayOff                            = 2                                         {product} {default}
     intx Tier3DelayOn                             = 5                                         {product} {default}
     intx Tier3InvocationThreshold                 = 200                                       {product} {default}
     intx Tier3InvokeNotifyFreqLog                 = 10                                        {product} {default}
     intx Tier3LoadFeedback                        = 5                                         {product} {default}
     intx Tier3MinInvocationThreshold              = 100                                       {product} {default}
     intx Tier4BackEdgeThreshold                   = 40000                                     {product} {default}
     intx Tier4CompileThreshold                    = 15000                                     {product} {default}
     intx Tier4InvocationThreshold                 = 5000                                      {product} {default}
     intx Tier4LoadFeedback                        = 3                                         {product} {default}
     intx Tier4MinInvocationThreshold              = 600                                       {product} {default}
     bool TieredCompilation                        = true                                   {pd product} {default}
     intx TieredCompileTaskTimeout                 = 50                                        {product} {default}
     intx TieredRateUpdateMaxTime                  = 25                                        {product} {default}
     intx TieredRateUpdateMinTime                  = 1                                         {product} {default}
     intx TieredStopAtLevel                        = 4                                         {product} {default}
     bool TimeLinearScan                           = false                                  {C1 product} {default}
     bool TraceCompilerThreads                     = false                                  {diagnostic} {default}
    ccstr TraceJVMTI                               =                                           {product} {default}
     bool TraceJVMTIObjectTagging                  = false                                  {diagnostic} {default}
     bool TraceNMethodInstalls                     = false                                  {diagnostic} {default}
     bool TraceSpilling                            = false                               {C2 diagnostic} {default}
     bool TraceSuspendWaitFailures                 = false                                     {product} {default}
     bool TraceTypeProfile                         = false                               {C2 diagnostic} {default}
     intx TrackedInitializationLimit               = 50                                     {C2 product} {default}
     bool TransmitErrorReport                      = false                                     {product} {default}
     bool TrapBasedNullChecks                      = false                                  {pd product} {default}
     bool TrapBasedRangeChecks                     = false                               {C2 pd product} {default}
     bool TrustFinalNonStaticFields                = false                                {experimental} {default}
     intx TypeProfileArgsLimit                     = 2                                         {product} {default}
    uintx TypeProfileLevel                         = 111                                    {pd product} {default}
     intx TypeProfileMajorReceiverPercent          = 90                                     {C2 product} {default}
     intx TypeProfileParmsLimit                    = 2                                         {product} {default}
     intx TypeProfileWidth                         = 2                                         {product} {default}
     intx UnguardOnExecutionViolation              = 0                                         {product} {default}
     bool UnlinkSymbolsALot                        = false                                     {product} {default}
     bool UnlockDiagnosticVMOptions                = true                                   {diagnostic} {command line}
     bool UnlockExperimentalVMOptions              = true                                 {experimental} {command line}
     bool UseAES                                   = true                                      {product} {default}
     bool UseAESCTRIntrinsics                      = true                                   {diagnostic} {default}
     bool UseAESIntrinsics                         = true                                   {diagnostic} {default}
     bool UseAOT                                   = false                                     {product} {default}
     bool UseAOTStrictLoading                      = false                                  {diagnostic} {default}
     intx UseAVX                                   = 2                                    {ARCH product} {default}
     bool UseAdaptiveGCBoundary                    = false                                     {product} {default}
     bool UseAdaptiveGenerationSizePolicyAtMajorCollection  = true                             {product} {default}
     bool UseAdaptiveGenerationSizePolicyAtMinorCollection  = true                             {product} {default}
     bool UseAdaptiveNUMAChunkSizing               = true                                      {product} {default}
     bool UseAdaptiveSizeDecayMajorGCCost          = true                                      {product} {default}
     bool UseAdaptiveSizePolicy                    = true                                      {product} {default}
     bool UseAdaptiveSizePolicyFootprintGoal       = true                                      {product} {default}
     bool UseAdaptiveSizePolicyWithSystemGC        = false                                     {product} {default}
     bool UseAddressNop                            = true                                 {ARCH product} {default}
     bool UseAdler32Intrinsics                     = false                                  {diagnostic} {default}
     bool UseBASE64Intrinsics                      = false                                     {product} {default}
     bool UseBMI1Instructions                      = true                                 {ARCH product} {default}
     bool UseBMI2Instructions                      = true                                 {ARCH product} {default}
     bool UseBiasedLocking                         = true                                      {product} {default}
     bool UseBimorphicInlining                     = true                                   {C2 product} {default}
      int UseBootstrapCallInfo                     = 1                                      {diagnostic} {default}
     bool UseCLMUL                                 = true                                 {ARCH product} {default}
     bool UseCMSBestFit                            = true                                      {product} {default}
     bool UseCMSInitiatingOccupancyOnly            = false                                     {product} {default}
     bool UseCMoveUnconditionally                  = false                                  {C2 product} {default}
     bool UseCRC32CIntrinsics                      = true                                   {diagnostic} {default}
     bool UseCRC32Intrinsics                       = true                                   {diagnostic} {default}
     bool UseCodeAging                             = true                                      {product} {default}
     bool UseCodeCacheFlushing                     = true                                      {product} {default}
     bool UseCompiler                              = true                                      {product} {default}
     bool UseCompressedClassPointers               = true                                 {lp64_product} {ergonomic}
     bool UseCompressedOops                        = true                                 {lp64_product} {ergonomic}
     bool UseConcMarkSweepGC                       = false                                     {product} {default}
     bool UseCondCardMark                          = false                                     {product} {default}
     bool UseCountLeadingZerosInstruction          = true                                 {ARCH product} {default}
     bool UseCountTrailingZerosInstruction         = true                                 {ARCH product} {default}
     bool UseCountedLoopSafepoints                 = true                                   {C2 product} {default}
     bool UseCounterDecay                          = true                                      {product} {default}
     bool UseCriticalCMSThreadPriority             = false                                {experimental} {default}
     bool UseCriticalCompilerThreadPriority        = false                                {experimental} {default}
     bool UseCriticalJavaThreadPriority            = false                                {experimental} {default}
     bool UseDivMod                                = true                                   {C2 product} {default}
     bool UseDynamicNumberOfCompilerThreads        = true                                      {product} {default}
     bool UseDynamicNumberOfGCThreads              = true                                      {product} {default}
     bool UseEpsilonGC                             = false                                {experimental} {default}
     bool UseFMA                                   = true                                      {product} {default}
     bool UseFPUForSpilling                        = true                                   {C2 product} {default}
     bool UseFastJNIAccessors                      = true                                      {product} {default}
     bool UseFastStosb                             = true                                 {ARCH product} {default}
     bool UseFastUnorderedTimeStamps               = false                                {experimental} {default}
     bool UseG1GC                                  = true                                      {product} {ergonomic}
     bool UseGCOverheadLimit                       = true                                      {product} {default}
     bool UseGCTaskAffinity                        = false                                     {product} {default}
     bool UseGHASHIntrinsics                       = true                                   {diagnostic} {default}
     bool UseHeavyMonitors                         = false                                     {product} {default}
     bool UseImplicitStableValues                  = true                                {C2 diagnostic} {default}
     bool UseIncDec                                = true                              {ARCH diagnostic} {default}
     bool UseInlineCaches                          = true                                      {product} {default}
     bool UseInlineDepthForSpeculativeTypes        = true                                {C2 diagnostic} {default}
     bool UseInterpreter                           = true                                      {product} {default}
     bool UseJVMCICompiler                         = false                          {JVMCI experimental} {default}
     bool UseJumpTables                            = true                                   {C2 product} {default}
     bool UseLWPSynchronization                    = true                                      {product} {default}
     bool UseLargePages                            = false                                  {pd product} {default}
     bool UseLargePagesInMetaspace                 = false                                     {product} {default}
     bool UseLargePagesIndividualAllocation        = false                                  {pd product} {ergonomic}
     bool UseLibmIntrinsic                         = true                              {ARCH diagnostic} {default}
     bool UseLoopCounter                           = true                                      {product} {default}
     bool UseLoopInvariantCodeMotion               = true                                   {C1 product} {default}
     bool UseLoopPredicate                         = true                                   {C2 product} {default}
     bool UseMathExactIntrinsics                   = true                                {C2 diagnostic} {default}
     bool UseMaximumCompactionOnSystemGC           = true                                      {product} {default}
     bool UseMembar                                = true                                   {pd product} {default}
     bool UseMontgomeryMultiplyIntrinsic           = true                                {C2 diagnostic} {default}
     bool UseMontgomerySquareIntrinsic             = true                                {C2 diagnostic} {default}
     bool UseMulAddIntrinsic                       = true                                {C2 diagnostic} {default}
     bool UseMultiplyToLenIntrinsic                = true                                {C2 diagnostic} {default}
     bool UseNUMA                                  = false                                     {product} {default}
     bool UseNUMAInterleaving                      = false                                     {product} {default}
     bool UseNewCode                               = false                                  {diagnostic} {default}
     bool UseNewCode2                              = false                                  {diagnostic} {default}
     bool UseNewCode3                              = false                                  {diagnostic} {default}
     bool UseNewLongLShift                         = false                                {ARCH product} {default}
     bool UseOSErrorReporting                      = false                                  {pd product} {default}
     bool UseOnStackReplacement                    = true                                   {pd product} {default}
     bool UseOnlyInlinedBimorphic                  = true                                   {C2 product} {default}
     bool UseOptoBiasInlining                      = true                                   {C2 product} {default}
     bool UsePSAdaptiveSurvivorSizePolicy          = true                                      {product} {default}
     bool UseParallelGC                            = false                                     {product} {default}
     bool UseParallelOldGC                         = false                                     {product} {default}
     bool UsePerfData                              = true                                      {product} {default}
     bool UsePopCountInstruction                   = true                                      {product} {default}
     bool UseProfiledLoopPredicate                 = true                                   {C2 product} {default}
     bool UseRDPCForConstantTableBase              = false                                  {C2 product} {default}
     bool UseRTMDeopt                              = false                                {ARCH product} {default}
     bool UseRTMForStackLocks                      = false                           {ARCH experimental} {default}
     bool UseRTMLocking                            = false                                {ARCH product} {default}
     bool UseRTMXendForLockBusy                    = true                            {ARCH experimental} {default}
     bool UseSHA                                   = true                                      {product} {default}
     bool UseSHA1Intrinsics                        = false                                  {diagnostic} {default}
     bool UseSHA256Intrinsics                      = true                                   {diagnostic} {default}
     bool UseSHA512Intrinsics                      = true                                   {diagnostic} {default}
     intx UseSSE                                   = 4                                         {product} {default}
     bool UseSSE42Intrinsics                       = true                                 {ARCH product} {default}
     bool UseSemaphoreGCThreadsSynchronization     = true                                   {diagnostic} {default}
     bool UseSerialGC                              = false                                     {product} {default}
     bool UseSharedSpaces                          = false                                     {product} {default}
     bool UseSignalChaining                        = true                                      {product} {default}
     bool UseSquareToLenIntrinsic                  = true                                {C2 diagnostic} {default}
     bool UseStoreImmI16                           = false                                {ARCH product} {default}
     bool UseStringDeduplication                   = false                                     {product} {default}
     bool UseSubwordForMaxVector                   = true                                   {C2 product} {default}
     bool UseSuperWord                             = true                                   {C2 product} {default}
     bool UseSwitchProfiling                       = true                                 {experimental} {default}
     bool UseTLAB                                  = true                                   {pd product} {default}
     bool UseThreadPriorities                      = true                                   {pd product} {default}
     bool UseTypeProfile                           = true                                      {product} {default}
     bool UseTypeSpeculation                       = true                                   {C2 product} {default}
     bool UseUnalignedAccesses                     = true                                   {diagnostic} {default}
     bool UseUnalignedLoadStores                   = false                                {ARCH product} {default}
     bool UseVectorCmov                            = false                                  {C2 product} {default}
     bool UseVectorizedMismatchIntrinsic           = true                                   {diagnostic} {default}
     bool UseXMMForArrayCopy                       = true                                      {product} {default}
     bool UseXMMForObjInit                         = false                                {ARCH product} {default}
     bool UseXmmI2D                                = false                                {ARCH product} {default}
     bool UseXmmI2F                                = false                                {ARCH product} {default}
     bool UseXmmLoadAndClearUpper                  = true                                 {ARCH product} {default}
     bool UseXmmRegToRegMoveAll                    = true                                 {ARCH product} {default}
     bool UseZGC                                   = false                                {experimental} {default}
     bool VMThreadHintNoPreempt                    = false                                     {product} {default}
     intx VMThreadPriority                         = -1                                        {product} {default}
     intx VMThreadStackSize                        = 0                                      {pd product} {default}
     intx ValueMapInitialSize                      = 11                                     {C1 product} {default}
     intx ValueMapMaxLoopSize                      = 8                                      {C1 product} {default}
     intx ValueSearchLimit                         = 1000                                   {C2 product} {default}
     bool VerifyAdapterCalls                       = false                                  {diagnostic} {default}
     bool VerifyAfterGC                            = false                                  {diagnostic} {default}
     bool VerifyBeforeExit                         = false                                  {diagnostic} {default}
     bool VerifyBeforeGC                           = false                                  {diagnostic} {default}
     bool VerifyBeforeIteration                    = false                                  {diagnostic} {default}
     bool VerifyDuringGC                           = false                                  {diagnostic} {default}
     bool VerifyDuringStartup                      = false                                  {diagnostic} {default}
     intx VerifyGCLevel                            = 0                                      {diagnostic} {default}
    uintx VerifyGCStartAt                          = 0                                      {diagnostic} {default}
ccstrlist VerifyGCType                             =                                        {diagnostic} {default}
     bool VerifyMergedCPBytecodes                  = true                                      {product} {default}
     bool VerifyMethodHandles                      = false                                  {diagnostic} {default}
     bool VerifyObjectStartArray                   = true                                   {diagnostic} {default}
     bool VerifyRememberedSets                     = false                                  {diagnostic} {default}
     bool VerifySharedSpaces                       = false                                     {product} {default}
     bool VerifyStringTableAtExit                  = false                                  {diagnostic} {default}
ccstrlist VerifySubSet                             =                                        {diagnostic} {default}
     bool WhiteBoxAPI                              = false                                  {diagnostic} {default}
    uintx WorkStealingHardSpins                    = 4096                                 {experimental} {default}
    uintx WorkStealingSleepMillis                  = 1                                    {experimental} {default}
    uintx WorkStealingSpinToYieldRatio             = 10                                   {experimental} {default}
    uintx WorkStealingYieldsBeforeSleep            = 5000                                 {experimental} {default}
    uintx YoungGenerationSizeIncrement             = 20                                        {product} {default}
    uintx YoungGenerationSizeSupplement            = 80                                        {product} {default}
    uintx YoungGenerationSizeSupplementDecay       = 8                                         {product} {default}
   size_t YoungPLABSize                            = 4096                                      {product} {default}
     bool ZeroTLAB                                 = false                                     {product} {default}
     intx hashCode                                 = 5                                    {experimental} {default}

Оцпии {experimental} для включения требуют флага -XX:+UnlockExperimentalVMOptions. Могут работать а могут и не работать. Java не гарантирует их корректную работу и их наличие в следующей версии Java.

Оцпии {diagnostic} требуют флага -XX:+UnlockDiagnosticVMOptions. Используются для тестирования, отладки и сбора детальной информации.

Опции {product} стандартные опции. Впрочем, некоторые из них могут работать в комбинации с другими опциями. Например, опции CMSxxx работают, только если вы включили сборщик мусора CMS, а опции {C1 product} и {С2 product} вступают в действие, когда во время работы программы JIT-компилятор переключается с C1 уровня, на уровень C2.

Мои любимые опции

Эти опции я выставляю при старте любого Java-приложения в Production:

-showversion -XX:+PrintCommandLineFlags -XX:+PrintFlagsFinal

Флаг -showversion выводит в консоль сигнатуру версии Java и дальше продолжает выполнение Java-программы. Сигнатура полезна для того, чтобы точно знать какая версия Java и какой её build используется для запуска. Если вы заметите на следующий день, что сигнатура поменялась, значит что-то на Production поменялось без вашего ведома.

Флаг -XX:+PrintCommandLineFlags выводит в консоль параметры, которые вы передаете JVM при запуске. Помогает убедиться, что ваша Java-программа действительно получает те параметры, которые вы пытаетесь передать.

Флаг -XX:+PringFlagsFinal выводит на консоль список всех параметров JVM и их окончательные выставленные значения, которые будут влиять на работу вашего приложения. Если между запусками вы заметите, что какие-то значениея изменились, значит на Production произошло какое-то изменение без вашего ведома.

Разумеется, помимо этих трех простых флагов я использую и другие, например для настройки JVM под low-latency, сборщика мусора, JIT-компилятора, heap и проч., но на эту тему будет отдельная статья.

VM Options Explorer

Замечательный и полезный веб-сайт позволяет посмотреть и удобно отфильтровать все опции JVM по каждой версии Java и разных JVM, например:

Автор веб-сайта — Chris Newland, который является:

  • Java Champion 2017 года;
  • является соавтором свежей книги Optimizing Java об оптимизации JVM;
  • автором JITWatch — утилиты, анализирующей логи JVM JIT-компилятора и выводящая красивые удобные для анализа графики.
Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s