Complete companion suite for the ankurm.com guide. Everything was compiled and
executed on java 25.0.3+9-LTS-195 (AMD Ryzen 5 5600U, Windows 11); every file
under results/ is unedited program output.
Code
latency/ open-loop latency harness that measures from intended arrival, so
coordinated omission is accounted for rather than hidden. Reports
response time and service time side by side; the gap reached 2910x
on G1.
jmh/ four microbenchmarks isolating one mechanism each: TLAB allocation,
the ZGC load barrier (with a primitive-load control), the write
barrier (with null / old-to-old / primitive controls), and promotion
pressure.
tuning/ provokes ZGC allocation stalls and reads its own JFR recording back,
grouped by page class. jdk.ZAllocationStall is enabled without a
threshold, because the 10 ms default hides most stalls.
internals/ ZGC page classes vs G1 humongous, read from the live VM via
HotSpotDiagnosticMXBean and jdk.ZPageAllocation events.
analysis/ unified GC log parser that keeps stop-the-world pauses and
concurrent phases in separate buckets.
env/ environment capture; proves generational mode from JMX bean names.
Docs
Eight chapters covering the JEP 439/474/490 timeline, colored pointers and both
barriers, allocation stalls, a full flag reference, logging and JFR, benchmark
methodology, corner cases, and a decision procedure.
Headline result (60 s, 20k req/s, 2 GB heap, ~585 MB live)
p50 ZGC 0.006 ms G1 0.005 ms
p99.9 ZGC 1.437 ms G1 95.169 ms
total STW time ZGC 1.503 ms G1 1,139.624 ms
514 lines
57 KiB
Plaintext
514 lines
57 KiB
Plaintext
[Global flags]
|
|
ccstr AOTCache = {product} {default}
|
|
ccstr AOTCacheOutput = {product} {default}
|
|
bool AOTClassLinking = false {product} {default}
|
|
ccstr AOTConfiguration = {product} {default}
|
|
ccstr AOTMode = {product} {default}
|
|
int ActiveProcessorCount = -1 {product} {default}
|
|
uintx AdaptiveSizeDecrementScaleFactor = 4 {product} {default}
|
|
uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product} {default}
|
|
uintx AdaptiveSizePolicyInitializingSteps = 20 {product} {default}
|
|
uintx AdaptiveSizePolicyOutputInterval = 0 {product} {default}
|
|
uint AdaptiveSizePolicyWeight = 10 {product} {default}
|
|
uint AdaptiveSizeThroughPutPolicy = 0 {product} {default}
|
|
uint AdaptiveTimeWeight = 25 {product} {default}
|
|
bool AggressiveHeap = false {product} {default}
|
|
bool AlignVector = false {C2 product} {default}
|
|
ccstr AllocateHeapAt = {product} {default}
|
|
int AllocateInstancePrefetchLines = 1 {product} {default}
|
|
int AllocatePrefetchDistance = 256 {product} {default}
|
|
intx AllocatePrefetchInstr = 0 {product} {default}
|
|
int AllocatePrefetchLines = 3 {product} {default}
|
|
int AllocatePrefetchStepSize = 64 {product} {default}
|
|
int AllocatePrefetchStyle = 1 {product} {default}
|
|
bool AllowParallelDefineClass = false {product} {default}
|
|
bool AllowRedefinitionToAddDeleteMethods = false {product} {default}
|
|
bool AllowUserSignalHandlers = false {product} {default}
|
|
bool AllowVectorizeOnDemand = true {C2 product} {default}
|
|
bool AlwaysActAsServerClassMachine = false {product} {default}
|
|
bool AlwaysCompileLoopMethods = false {product} {default}
|
|
bool AlwaysPreTouch = false {product} {default}
|
|
bool AlwaysRestoreFPU = false {product} {default}
|
|
bool AlwaysTenure = false {product} {default}
|
|
ccstr ArchiveClassesAtExit = {product} {default}
|
|
intx ArrayCopyLoadStoreMaxElem = 8 {C2 product} {default}
|
|
size_t AsyncLogBufferSize = 2097152 {product} {default}
|
|
intx AutoBoxCacheMax = 128 {C2 product} {default}
|
|
bool AutoCreateSharedArchive = false {product} {default}
|
|
intx BCEATraceLevel = 0 {product} {default}
|
|
bool BackgroundCompilation = true {pd product} {default}
|
|
bool BlockLayoutByFrequency = true {C2 product} {default}
|
|
intx BlockLayoutMinDiamondPercentage = 20 {C2 product} {default}
|
|
bool BlockLayoutRotateLoops = true {C2 product} {default}
|
|
intx C1InlineStackLimit = 5 {C1 product} {default}
|
|
intx C1MaxInlineLevel = 9 {C1 product} {default}
|
|
intx C1MaxInlineSize = 35 {C1 product} {default}
|
|
intx C1MaxRecursiveInlineLevel = 1 {C1 product} {default}
|
|
intx C1MaxTrivialSize = 6 {C1 product} {default}
|
|
bool C1OptimizeVirtualCallProfiling = true {C1 product} {default}
|
|
bool C1ProfileBranches = true {C1 product} {default}
|
|
bool C1ProfileCalls = true {C1 product} {default}
|
|
bool C1ProfileCheckcasts = true {C1 product} {default}
|
|
bool C1ProfileInlinedCalls = true {C1 product} {default}
|
|
bool C1ProfileVirtualCalls = true {C1 product} {default}
|
|
bool C1UpdateMethodData = true {C1 product} {default}
|
|
intx CICompilerCount = 4 {product} {ergonomic}
|
|
bool CICompilerCountPerCPU = true {product} {default}
|
|
bool CITime = false {product} {default}
|
|
bool CheckJNICalls = false {product} {default}
|
|
bool ClassUnloading = true {product} {default}
|
|
bool ClassUnloadingWithConcurrentMark = true {product} {default}
|
|
bool ClipInlining = true {product} {default}
|
|
uintx CodeCacheExpansionSize = 65536 {pd product} {default}
|
|
bool CompactStrings = true {pd product} {default}
|
|
ccstr CompilationMode = default {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}
|
|
int CompilerThreadPriority = -1 {product} {default}
|
|
intx CompilerThreadStackSize = 0 {pd product} {default}
|
|
size_t CompressedClassSpaceSize = 1073741824 {product} {default}
|
|
uint ConcGCThreads = 3 {product} {ergonomic}
|
|
intx ConditionalMoveLimit = 3 {C2 pd product} {default}
|
|
int ContendedPaddingWidth = 128 {product} {default}
|
|
bool CrashOnOutOfMemoryError = false {product} {default}
|
|
bool CreateCoredumpOnCrash = true {product} {default}
|
|
bool DTraceAllocProbes = false {product} {default}
|
|
bool DTraceMethodProbes = false {product} {default}
|
|
bool DTraceMonitorProbes = false {product} {default}
|
|
bool DisableAttachMechanism = false {product} {default}
|
|
bool DisableExplicitGC = false {product} {default}
|
|
bool DisplayVMOutputToStderr = false {product} {default}
|
|
bool DisplayVMOutputToStdout = false {product} {default}
|
|
bool DoEscapeAnalysis = true {C2 product} {default}
|
|
bool DontCompileHugeMethods = true {product} {default}
|
|
ccstr DumpLoadedClassList = {product} {default}
|
|
bool DumpReplayDataOnError = true {product} {default}
|
|
bool EagerXrunInit = false {product} {default}
|
|
intx EliminateAllocationArraySizeLimit = 64 {C2 product} {default}
|
|
bool EliminateAllocations = true {C2 product} {default}
|
|
bool EliminateAutoBox = true {C2 product} {default}
|
|
bool EliminateLocks = true {C2 product} {default}
|
|
bool EliminateNestedLocks = true {C2 product} {default}
|
|
bool EnableAllLargePageSizesForWindows = false {product} {default}
|
|
bool EnableContended = true {product} {default}
|
|
bool EnableDynamicAgentLoading = true {product} {default}
|
|
size_t ErgoHeapSizeLimit = 0 {product} {default}
|
|
ccstr ErrorFile = {product} {default}
|
|
bool ErrorFileToStderr = false {product} {default}
|
|
bool ErrorFileToStdout = false {product} {default}
|
|
uint64_t ErrorLogTimeout = 120 {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 ExtensiveErrorReports = false {product} {default}
|
|
ccstr ExtraSharedClassListFile = {product} {default}
|
|
bool FlightRecorder = false {product} {default}
|
|
ccstr FlightRecorderOptions = {product} {default}
|
|
bool ForceTimeHighResolution = false {product} {default}
|
|
intx FreqInlineSize = 325 {C2 pd product} {default}
|
|
uint FullGCHeapDumpLimit = 0 {manageable} {default}
|
|
double G1ConcMarkStepDurationMillis = 10.000000 {product} {default}
|
|
uint G1ConcRefinementThreads = 10 {product} {ergonomic}
|
|
uint G1ConfidencePercent = 50 {product} {default}
|
|
size_t G1HeapRegionSize = 1048576 {product} {ergonomic}
|
|
uint G1HeapWastePercent = 5 {product} {default}
|
|
uintx G1MixedGCCountTarget = 8 {product} {default}
|
|
uintx G1PeriodicGCInterval = 0 {manageable} {default}
|
|
bool G1PeriodicGCInvokesConcurrent = true {product} {default}
|
|
double G1PeriodicGCSystemLoadThreshold = 0.000000 {manageable} {default}
|
|
uint G1RSetUpdatingPauseTimePercent = 10 {product} {default}
|
|
uint G1RefProcDrainInterval = 1000 {product} {default}
|
|
uint G1ReservePercent = 10 {product} {default}
|
|
uint G1SATBBufferEnqueueingThresholdPercent = 60 {product} {default}
|
|
size_t G1SATBBufferSize = 1024 {product} {default}
|
|
size_t G1UpdateBufferSize = 256 {product} {default}
|
|
bool G1UseAdaptiveIHOP = true {product} {default}
|
|
uint GCCardSizeInBytes = 512 {product} {default}
|
|
uint GCDrainStackTargetSize = 64 {product} {default}
|
|
uint GCHeapFreeLimit = 2 {product} {default}
|
|
uintx GCPauseIntervalMillis = 201 {product} {default}
|
|
uint GCTimeLimit = 98 {product} {default}
|
|
uint GCTimeRatio = 12 {product} {default}
|
|
size_t HeapBaseMinAddress = 2147483648 {pd product} {default}
|
|
bool HeapDumpAfterFullGC = false {manageable} {default}
|
|
bool HeapDumpBeforeFullGC = false {manageable} {default}
|
|
int HeapDumpGzipLevel = 0 {manageable} {default}
|
|
bool HeapDumpOnOutOfMemoryError = false {manageable} {default}
|
|
ccstr HeapDumpPath = {manageable} {default}
|
|
uintx HeapMaximumCompactionInterval = 20 {product} {default}
|
|
uintx HeapSearchSteps = 3 {product} {default}
|
|
size_t HeapSizePerGCThread = 43620760 {product} {default}
|
|
bool IgnoreEmptyClassPaths = false {product} {default}
|
|
bool IgnoreUnrecognizedVMOptions = false {product} {default}
|
|
uintx IncreaseFirstTierCompileThresholdAt = 50 {product} {default}
|
|
bool IncrementalInline = true {C2 product} {default}
|
|
uintx InitialCodeCacheSize = 2555904 {pd product} {default}
|
|
size_t InitialHeapSize = 2147483648 {product} {command line}
|
|
double InitialRAMPercentage = 1.562500 {product} {default}
|
|
uintx InitialSurvivorRatio = 8 {product} {default}
|
|
uint InitialTenuringThreshold = 7 {product} {default}
|
|
uint InitiatingHeapOccupancyPercent = 45 {product} {default}
|
|
bool Inline = true {product} {default}
|
|
ccstr InlineDataFile = {product} {default}
|
|
intx InlineSmallCode = 2500 {C2 pd product} {default}
|
|
bool InlineSynchronizedMethods = true {C1 product} {default}
|
|
intx InteriorEntryAlignment = 16 {C2 pd product} {default}
|
|
intx InterpreterProfilePercentage = 33 {product} {default}
|
|
bool JavaMonitorsInStackTrace = true {product} {default}
|
|
int JavaPriority10_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority1_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority2_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority3_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority4_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority5_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority6_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority7_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority8_To_OSPriority = -1 {product} {default}
|
|
int JavaPriority9_To_OSPriority = -1 {product} {default}
|
|
size_t LargePageHeapSizeThreshold = 134217728 {product} {default}
|
|
size_t LargePageSizeInBytes = 0 {product} {default}
|
|
intx LiveNodeCountInliningCutoff = 40000 {C2 product} {default}
|
|
int LockingMode = 2 {product} {default}
|
|
ccstr LogClassLoadingCauseFor = {product} {default}
|
|
intx LoopMaxUnroll = 16 {C2 product} {default}
|
|
intx LoopOptsCount = 43 {C2 product} {default}
|
|
intx LoopPercentProfileLimit = 10 {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}
|
|
bool ManagementServer = false {product} {default}
|
|
size_t MarkStackSize = 4194304 {product} {ergonomic}
|
|
size_t MarkStackSizeMax = 536870912 {product} {ergonomic}
|
|
uint MarkSweepAlwaysCompactCount = 4 {product} {default}
|
|
uint 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 MaxGCPauseMillis = 200 {product} {default}
|
|
uintx MaxHeapFreeRatio = 70 {manageable} {default}
|
|
size_t MaxHeapSize = 2147483648 {product} {command line}
|
|
intx MaxInlineLevel = 15 {C2 product} {default}
|
|
intx MaxInlineSize = 35 {C2 product} {default}
|
|
intx MaxJNILocalCapacity = 65536 {product} {default}
|
|
int MaxJavaStackTraceDepth = 1024 {product} {default}
|
|
intx MaxJumpTableSize = 65000 {C2 product} {default}
|
|
intx MaxJumpTableSparseness = 5 {C2 product} {default}
|
|
intx MaxLabelRootDepth = 1100 {C2 product} {default}
|
|
intx MaxLoopPad = 15 {C2 product} {default}
|
|
size_t MaxMetaspaceExpansion = 5439488 {product} {default}
|
|
uint MaxMetaspaceFreeRatio = 70 {product} {default}
|
|
size_t MaxMetaspaceSize = 18446744073709551615 {product} {default}
|
|
size_t MaxNewSize = 1287651328 {product} {ergonomic}
|
|
intx MaxNodeLimit = 80000 {C2 product} {default}
|
|
uint64_t MaxRAM = 137438953472 {pd product} {default}
|
|
double MaxRAMPercentage = 25.000000 {product} {default}
|
|
intx MaxRecursiveInlineLevel = 1 {C2 product} {default}
|
|
uint MaxTenuringThreshold = 15 {product} {default}
|
|
intx MaxTrivialSize = 6 {C2 product} {default}
|
|
intx MaxVectorSize = 32 {C2 product} {default}
|
|
size_t MetaspaceSize = 22020096 {product} {default}
|
|
bool MethodFlushing = true {product} {default}
|
|
size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic}
|
|
uintx MinHeapFreeRatio = 40 {manageable} {default}
|
|
size_t MinHeapSize = 2147483648 {product} {command line}
|
|
intx MinJumpTableSize = 10 {C2 pd product} {default}
|
|
size_t MinMetaspaceExpansion = 327680 {product} {default}
|
|
uint MinMetaspaceFreeRatio = 40 {product} {default}
|
|
double MinRAMPercentage = 50.000000 {product} {default}
|
|
uintx MinSurvivorRatio = 3 {product} {default}
|
|
size_t MinTLABSize = 2048 {product} {default}
|
|
intx MultiArrayExpandLimit = 6 {C2 product} {default}
|
|
uintx NUMAChunkResizeWeight = 20 {product} {default}
|
|
size_t NUMAInterleaveGranularity = 2097152 {product} {default}
|
|
size_t NUMASpaceResizeRate = 1073741824 {product} {default}
|
|
bool NUMAStats = false {product} {default}
|
|
ccstr NativeMemoryTracking = off {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 = 4 {product} {default}
|
|
intx NodeLimitFudgeFactor = 2000 {C2 product} {default}
|
|
uintx NonNMethodCodeHeapSize = 5832704 {pd product} {ergonomic}
|
|
uintx NonProfiledCodeHeapSize = 122945536 {pd product} {ergonomic}
|
|
intx NumberOfLoopInstrToAlign = 4 {C2 product} {default}
|
|
int ObjectAlignmentInBytes = 8 {product lp64_product} {default}
|
|
size_t OldPLABSize = 1024 {product} {default}
|
|
bool OmitStackTraceInFastThrow = true {product} {default}
|
|
ccstrlist OnError = {product} {default}
|
|
ccstrlist OnOutOfMemoryError = {product} {default}
|
|
intx OnStackReplacePercentage = 140 {pd product} {default}
|
|
bool OptimizeFill = false {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}
|
|
uint PLABWeight = 75 {product} {default}
|
|
bool PSChunkLargeArrays = true {product} {default}
|
|
int ParGCArrayScanChunk = 50 {product} {default}
|
|
uint ParallelGCBufferWastePct = 10 {product} {default}
|
|
uint ParallelGCThreads = 10 {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}
|
|
uint PausePadding = 1 {product} {default}
|
|
intx PerBytecodeRecompilationCutoff = 200 {product} {default}
|
|
intx PerBytecodeTrapLimit = 4 {product} {default}
|
|
intx PerMethodRecompilationCutoff = 400 {product} {default}
|
|
intx PerMethodTrapLimit = 100 {product} {default}
|
|
bool PerfAllowAtExitRegistration = false {product} {default}
|
|
bool PerfBypassFileSystemCheck = false {product} {default}
|
|
int PerfDataMemorySize = 32768 {product} {default}
|
|
ccstr PerfDataSaveFile = {product} {default}
|
|
bool PerfDataSaveToFile = false {product} {default}
|
|
bool PerfDisableSharedMem = false {product} {default}
|
|
int PerfMaxStringConstLength = 1024 {product} {default}
|
|
size_t PreTouchParallelChunkSize = 1073741824 {pd product} {default}
|
|
bool PreferInterpreterNativeStubs = false {pd product} {default}
|
|
intx PrefetchCopyIntervalInBytes = 576 {product} {default}
|
|
intx PrefetchScanIntervalInBytes = 576 {product} {default}
|
|
bool PreserveFramePointer = false {pd product} {default}
|
|
size_t PretenureSizeThreshold = 0 {product} {default}
|
|
bool PrintClassHistogram = false {manageable} {default}
|
|
bool PrintCodeCache = false {product} {default}
|
|
bool PrintCodeCacheOnCompilation = false {product} {default}
|
|
bool PrintCommandLineFlags = false {product} {default}
|
|
bool PrintCompilation = false {product} {default}
|
|
bool PrintConcurrentLocks = false {manageable} {default}
|
|
bool 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 PrintSharedArchiveAndExit = false {product} {default}
|
|
bool PrintStringTableStatistics = false {product} {default}
|
|
bool PrintTieredEvents = false {product} {default}
|
|
bool PrintVMOptions = false {product} {default}
|
|
bool PrintWarnings = true {product} {default}
|
|
bool ProfileExceptionHandlers = true {product} {default}
|
|
bool ProfileInterpreter = true {pd product} {default}
|
|
intx ProfileMaturityPercentage = 20 {product} {default}
|
|
uintx ProfiledCodeHeapSize = 122880000 {pd product} {ergonomic}
|
|
uint PromotedPadding = 3 {product} {default}
|
|
uintx QueuedAllocationWarningCount = 0 {product} {default}
|
|
bool RangeCheckElimination = true {product} {default}
|
|
bool ReassociateInvariants = true {C2 product} {default}
|
|
bool RecordDynamicDumpInfo = false {product} {default}
|
|
bool ReduceBulkZeroing = true {C2 product} {default}
|
|
bool ReduceFieldZeroing = true {C2 product} {default}
|
|
bool ReduceInitialCardMarks = true {C2 product} {default}
|
|
bool ReduceSignalUsage = false {product} {default}
|
|
bool RelaxAccessControlCheck = false {product} {default}
|
|
ccstr ReplayDataFile = {product} {default}
|
|
uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
|
|
bool ResizePLAB = true {product} {default}
|
|
bool ResizeTLAB = true {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}
|
|
double SafepointTimeoutDelay = 10000.000000 {product} {default}
|
|
bool SegmentedCodeCache = true {product} {ergonomic}
|
|
double SelfDestructTimer = 0.000000 {product} {default}
|
|
ccstr SharedArchiveConfigFile = {product} {default}
|
|
ccstr SharedArchiveFile = {product} {default}
|
|
size_t SharedBaseAddress = 100663296 {product} {default}
|
|
ccstr SharedClassListFile = {product} {default}
|
|
uint SharedSymbolTableBucketSize = 4 {product} {default}
|
|
bool ShowCodeDetailsInExceptionMessages = true {manageable} {default}
|
|
bool ShowMessageBoxOnError = false {product} {default}
|
|
bool ShrinkHeapInSteps = true {product} {default}
|
|
size_t SoftMaxHeapSize = 2147483648 {manageable} {ergonomic}
|
|
intx SoftRefLRUPolicyMSPerMB = 1000 {product} {default}
|
|
bool SplitIfBlocks = true {C2 product} {default}
|
|
intx StackRedPages = 1 {pd product} {default}
|
|
intx StackReservedPages = 0 {pd product} {default}
|
|
intx StackShadowPages = 8 {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}
|
|
uint StringDeduplicationAgeThreshold = 3 {product} {default}
|
|
uintx StringTableSize = 65536 {product} {default}
|
|
bool SuperWordLoopUnrollAnalysis = true {C2 pd product} {default}
|
|
bool SuperWordReductions = true {C2 product} {default}
|
|
bool SuppressFatalErrorMessage = false {product} {default}
|
|
uint SurvivorPadding = 3 {product} {default}
|
|
uintx SurvivorRatio = 8 {product} {default}
|
|
double SweeperThreshold = 15.000000 {product} {default}
|
|
uintx TLABAllocationWeight = 35 {product} {default}
|
|
uintx TLABRefillWasteFraction = 64 {product} {default}
|
|
size_t TLABSize = 0 {product} {default}
|
|
uintx TLABWasteIncrement = 4 {product} {default}
|
|
uintx TLABWasteTargetPercent = 1 {product} {default}
|
|
uint TargetPLABWastePct = 10 {product} {default}
|
|
uint TargetSurvivorRatio = 50 {product} {default}
|
|
uint TenuredGenerationSizeIncrement = 20 {product} {default}
|
|
uint TenuredGenerationSizeSupplement = 80 {product} {default}
|
|
uintx TenuredGenerationSizeSupplementDecay = 2 {product} {default}
|
|
int ThreadPriorityPolicy = 0 {product} {default}
|
|
bool ThreadPriorityVerbose = false {product} {default}
|
|
intx ThreadStackSize = 0 {pd product} {default}
|
|
uint 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 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}
|
|
ccstr TraceJVMTI = {product} {default}
|
|
intx TrackedInitializationLimit = 50 {C2 product} {default}
|
|
bool TrapBasedNullChecks = false {pd product} {default}
|
|
bool TrapBasedRangeChecks = false {C2 pd product} {default}
|
|
uint TrimNativeHeapInterval = 0 {product} {default}
|
|
int TypeProfileArgsLimit = 2 {product} {default}
|
|
uint TypeProfileLevel = 111 {pd product} {default}
|
|
intx TypeProfileMajorReceiverPercent = 90 {C2 product} {default}
|
|
int TypeProfileParmsLimit = 2 {product} {default}
|
|
intx TypeProfileSubTypeCheckCommonThreshold = 50 {C2 product} {default}
|
|
intx TypeProfileWidth = 2 {product} {default}
|
|
int UnguardOnExecutionViolation = 0 {product} {default}
|
|
bool UseAES = true {product} {default}
|
|
int UseAVX = 2 {ARCH 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 UseAllWindowsProcessorGroups = false {product} {default}
|
|
bool UseBASE64Intrinsics = true {product} {default}
|
|
bool UseBMI1Instructions = true {ARCH product} {default}
|
|
bool UseBMI2Instructions = true {ARCH product} {default}
|
|
bool UseBimorphicInlining = true {C2 product} {default}
|
|
bool UseCLMUL = true {ARCH product} {default}
|
|
bool UseCMoveUnconditionally = false {C2 product} {default}
|
|
bool UseCodeCacheFlushing = true {product} {default}
|
|
bool UseCompactObjectHeaders = false {product lp64_product} {default}
|
|
bool UseCompiler = true {product} {default}
|
|
bool UseCompressedClassPointers = true {product lp64_product} {default}
|
|
bool UseCompressedOops = true {product lp64_product} {ergonomic}
|
|
bool UseCondCardMark = false {product} {default}
|
|
bool UseCountLeadingZerosInstruction = true {ARCH product} {default}
|
|
bool UseCountTrailingZerosInstruction = true {ARCH product} {default}
|
|
bool UseCountedLoopSafepoints = true {C2 product} {default}
|
|
bool UseDivMod = true {C2 product} {default}
|
|
bool UseDynamicNumberOfCompilerThreads = true {product} {default}
|
|
bool UseDynamicNumberOfGCThreads = true {product} {default}
|
|
bool UseFMA = true {product} {default}
|
|
bool UseFPUForSpilling = true {C2 product} {default}
|
|
bool UseFastJNIAccessors = true {product} {default}
|
|
bool UseFastStosb = false {ARCH product} {default}
|
|
bool UseG1GC = true {product} {command line}
|
|
bool UseGCOverheadLimit = true {product} {default}
|
|
bool UseInlineCaches = true {product} {default}
|
|
bool UseInterpreter = true {product} {default}
|
|
bool UseJumpTables = true {C2 product} {default}
|
|
bool UseLargePages = false {pd product} {default}
|
|
bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic}
|
|
bool UseLoopCounter = true {product} {default}
|
|
bool UseLoopInvariantCodeMotion = true {C1 product} {default}
|
|
bool UseLoopPredicate = true {C2 product} {default}
|
|
bool UseMaximumCompactionOnSystemGC = true {product} {default}
|
|
bool UseNUMA = false {product} {default}
|
|
bool UseNUMAInterleaving = false {product} {default}
|
|
bool UseNewLongLShift = true {ARCH product} {default}
|
|
bool UseOSErrorReporting = false {product} {default}
|
|
bool UseOnStackReplacement = true {pd product} {default}
|
|
bool UseOnlyInlinedBimorphic = true {C2 product} {default}
|
|
bool UsePSAdaptiveSurvivorSizePolicy = true {product} {default}
|
|
bool UseParallelGC = false {product} {default}
|
|
bool UsePerfData = true {product} {default}
|
|
bool UsePopCountInstruction = true {product} {default}
|
|
bool UseProfiledLoopPredicate = true {C2 product} {default}
|
|
bool UseSHA = true {product} {default}
|
|
int UseSSE = 4 {ARCH product} {default}
|
|
bool UseSSE42Intrinsics = true {ARCH product} {default}
|
|
bool UseSerialGC = false {product} {default}
|
|
bool UseShenandoahGC = false {product} {default}
|
|
bool UseSignalChaining = true {product} {default}
|
|
bool UseStoreImmI16 = true {ARCH product} {default}
|
|
bool UseStringDeduplication = false {product} {default}
|
|
bool UseSubwordForMaxVector = true {C2 product} {default}
|
|
bool UseSuperWord = true {C2 product} {default}
|
|
bool UseSystemMemoryBarrier = false {product} {default}
|
|
bool UseTLAB = true {product} {default}
|
|
bool UseThreadPriorities = true {pd product} {default}
|
|
bool UseTypeProfile = true {product} {default}
|
|
bool UseTypeSpeculation = true {C2 product} {default}
|
|
bool UseUnalignedLoadStores = true {ARCH product} {default}
|
|
bool UseVectorCmov = false {C2 product} {default}
|
|
bool UseXMMForArrayCopy = true {product} {default}
|
|
bool UseXMMForObjInit = true {ARCH product} {default}
|
|
bool UseXmmI2D = true {ARCH product} {default}
|
|
bool UseXmmI2F = true {ARCH product} {default}
|
|
bool UseXmmLoadAndClearUpper = true {ARCH product} {default}
|
|
bool UseXmmRegToRegMoveAll = true {ARCH product} {default}
|
|
bool UseZGC = false {product} {default}
|
|
intx UserThreadWaitAttemptsAtExit = 30 {product} {default}
|
|
int 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 VerifySharedSpaces = false {product} {default}
|
|
uint YoungGenerationSizeIncrement = 20 {product} {default}
|
|
uint YoungGenerationSizeSupplement = 80 {product} {default}
|
|
uintx YoungGenerationSizeSupplementDecay = 8 {product} {default}
|
|
size_t YoungPLABSize = 4096 {product} {default}
|
|
double ZAllocationSpikeTolerance = 2.000000 {product} {default}
|
|
double ZCollectionInterval = 0.000000 {product} {default}
|
|
double ZCollectionIntervalMajor = -1.000000 {product} {default}
|
|
double ZCollectionIntervalMinor = -1.000000 {product} {default}
|
|
bool ZCollectionIntervalOnly = false {product} {default}
|
|
double ZFragmentationLimit = 5.000000 {product} {default}
|
|
bool ZProactive = true {product} {default}
|
|
bool ZUncommit = true {product} {default}
|
|
uintx ZUncommitDelay = 300 {product} {default}
|
|
double ZYoungCompactionLimit = 25.000000 {product} {default}
|
|
bool ZeroTLAB = false {product} {default}
|
|
java version "25.0.3" 2026-04-21 LTS
|
|
Java(TM) SE Runtime Environment (build 25.0.3+9-LTS-195)
|
|
Java HotSpot(TM) 64-Bit Server VM (build 25.0.3+9-LTS-195, mixed mode, sharing)
|