Generational ZGC vs G1 on JDK 25: benchmarks, internals and captured results
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
This commit is contained in:
34
results/01-env-g1.txt
Normal file
34
results/01-env-g1.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
=== Runtime ===
|
||||
java.version : 25.0.3
|
||||
java.vm.name : Java HotSpot(TM) 64-Bit Server VM
|
||||
java.vm.version : 25.0.3+9-LTS-195
|
||||
java.vendor : Oracle Corporation
|
||||
os.name / os.arch : Windows 11 / amd64
|
||||
availableProcessors : 12
|
||||
maxMemory (-Xmx) : 2,147,483,648 bytes (2048 MB)
|
||||
totalMemory (now) : 2,147,483,648 bytes (2048 MB)
|
||||
|
||||
=== Collector in use ===
|
||||
bean: G1 Young Generation count=0 timeMs=0
|
||||
bean: G1 Concurrent GC count=0 timeMs=0
|
||||
bean: G1 Old Generation count=0 timeMs=0
|
||||
generational? : yes (separate young + old cycles reported)
|
||||
|
||||
=== Memory pools ===
|
||||
CodeHeap 'non-nmethods' type=Non-heap memory max=5,832,704 bytes (6 MB)
|
||||
Metaspace type=Non-heap memory max=unbounded
|
||||
CodeHeap 'profiled nmethods' type=Non-heap memory max=122,880,000 bytes (117 MB)
|
||||
Compressed Class Space type=Non-heap memory max=1,073,741,824 bytes (1024 MB)
|
||||
G1 Eden Space type=Heap memory max=unbounded
|
||||
G1 Old Gen type=Heap memory max=2,147,483,648 bytes (2048 MB)
|
||||
G1 Survivor Space type=Heap memory max=unbounded
|
||||
CodeHeap 'non-profiled nmethods' type=Non-heap memory max=122,945,536 bytes (117 MB)
|
||||
|
||||
=== JVM arguments actually in effect ===
|
||||
-XX:+UseG1GC
|
||||
-Xms2g
|
||||
-Xmx2g
|
||||
--add-modules=ALL-DEFAULT
|
||||
|
||||
Tip: dump every ergonomic value the JVM chose with
|
||||
java -XX:+UseZGC -Xms2g -Xmx2g -XX:+PrintFlagsFinal -version
|
||||
34
results/01-env-zgc.txt
Normal file
34
results/01-env-zgc.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
=== Runtime ===
|
||||
java.version : 25.0.3
|
||||
java.vm.name : Java HotSpot(TM) 64-Bit Server VM
|
||||
java.vm.version : 25.0.3+9-LTS-195
|
||||
java.vendor : Oracle Corporation
|
||||
os.name / os.arch : Windows 11 / amd64
|
||||
availableProcessors : 12
|
||||
maxMemory (-Xmx) : 2,147,483,648 bytes (2048 MB)
|
||||
totalMemory (now) : 2,147,483,648 bytes (2048 MB)
|
||||
|
||||
=== Collector in use ===
|
||||
bean: ZGC Minor Cycles count=0 timeMs=0
|
||||
bean: ZGC Minor Pauses count=0 timeMs=0
|
||||
bean: ZGC Major Cycles count=0 timeMs=0
|
||||
bean: ZGC Major Pauses count=0 timeMs=0
|
||||
generational? : yes (separate young + old cycles reported)
|
||||
|
||||
=== Memory pools ===
|
||||
CodeHeap 'non-nmethods' type=Non-heap memory max=5,832,704 bytes (6 MB)
|
||||
Metaspace type=Non-heap memory max=unbounded
|
||||
CodeHeap 'profiled nmethods' type=Non-heap memory max=122,880,000 bytes (117 MB)
|
||||
Compressed Class Space type=Non-heap memory max=1,073,741,824 bytes (1024 MB)
|
||||
ZGC Old Generation type=Heap memory max=2,147,483,648 bytes (2048 MB)
|
||||
ZGC Young Generation type=Heap memory max=2,147,483,648 bytes (2048 MB)
|
||||
CodeHeap 'non-profiled nmethods' type=Non-heap memory max=122,945,536 bytes (117 MB)
|
||||
|
||||
=== JVM arguments actually in effect ===
|
||||
-XX:+UseZGC
|
||||
-Xms2g
|
||||
-Xmx2g
|
||||
--add-modules=ALL-DEFAULT
|
||||
|
||||
Tip: dump every ergonomic value the JVM chose with
|
||||
java -XX:+UseZGC -Xms2g -Xmx2g -XX:+PrintFlagsFinal -version
|
||||
513
results/02-flags-g1.txt
Normal file
513
results/02-flags-g1.txt
Normal file
@@ -0,0 +1,513 @@
|
||||
[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)
|
||||
513
results/02-flags-zgc.txt
Normal file
513
results/02-flags-zgc.txt
Normal file
@@ -0,0 +1,513 @@
|
||||
[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} {default}
|
||||
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 = 0 {product} {default}
|
||||
uint G1ConfidencePercent = 50 {product} {default}
|
||||
size_t G1HeapRegionSize = 0 {product} {default}
|
||||
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 = 0 {product} {default}
|
||||
uint GCTimeLimit = 98 {product} {default}
|
||||
uint GCTimeRatio = 99 {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} {default}
|
||||
size_t MarkStackSizeMax = 536870912 {product} {default}
|
||||
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 = 18446744073709551614 {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 = 18446744073709551615 {product} {default}
|
||||
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 = 14 {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 = 2097152 {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 = 8 {product} {default}
|
||||
bool ParallelRefProcBalancingEnabled = true {product} {default}
|
||||
bool ParallelRefProcEnabled = false {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 = 2600468480 {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 = 262144 {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 = false {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 = false {product} {default}
|
||||
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 = true {product} {command line}
|
||||
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 = false {product} {ergonomic}
|
||||
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)
|
||||
47
results/03-latency-g1.txt
Normal file
47
results/03-latency-g1.txt
Normal file
@@ -0,0 +1,47 @@
|
||||
==============================================================================
|
||||
ZGC / G1 open-loop latency harness
|
||||
==============================================================================
|
||||
collector : G1 Young Generation + G1 Concurrent GC + G1 Old Generation
|
||||
java : 25.0.3+9-LTS-195
|
||||
threads=4 rate=20,000/s warmup=20s measure=60s
|
||||
liveSet=150,000 entries x 4,096 B (~585 MB live)
|
||||
garbage=16,384 B/request reads=64/request mutationProbability=0.20
|
||||
nominal allocation rate ~328 MB/s seed=20260730
|
||||
------------------------------------------------------------------------------
|
||||
building live set ... 150,000 entries, ~589 MB live, took 266 ms
|
||||
warming up for 20 s at 20,000 req/s ...
|
||||
measuring for 60 s at 20,000 req/s ...
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
achieved throughput : 19,976 req/s over 60.1 s
|
||||
|
||||
RESPONSE TIME (from intended arrival -- the honest number) (n=1,200,000)
|
||||
mean 0.388 ms
|
||||
p50 0.005 ms
|
||||
p90 0.009 ms
|
||||
p99 8.042 ms
|
||||
p99.9 95.169 ms
|
||||
p99.99 126.949 ms
|
||||
max 133.018 ms
|
||||
|
||||
SERVICE TIME (from actual start -- hides queueing) (n=1,200,000)
|
||||
mean 0.007 ms
|
||||
p50 0.005 ms
|
||||
p90 0.008 ms
|
||||
p99 0.016 ms
|
||||
p99.9 0.033 ms
|
||||
p99.99 0.171 ms
|
||||
max 113.864 ms
|
||||
|
||||
coordinated-omission gap at p99.9 : 95.169 ms response vs 0.033 ms service (2910.4x)
|
||||
|
||||
GC activity during the measured window
|
||||
G1 Young Generation collections=36 time= 604 ms [stop-the-world]
|
||||
G1 Concurrent GC collections=19 time= 15 ms [cycle (mostly concurrent)]
|
||||
G1 Old Generation collections=2 time= 208 ms [stop-the-world]
|
||||
|
||||
CSV (response time)
|
||||
collector,n,mean_ms,p50_ms,p90_ms,p99_ms,p999_ms,p9999_ms,max_ms
|
||||
G1 Young Generation + G1 Concurrent GC + G1 Old Generation,1200000,0.388,0.005,0.009,8.042,95.169,126.949,133.018
|
||||
|
||||
liveSet checksum: 0
|
||||
48
results/03-latency-zgc.txt
Normal file
48
results/03-latency-zgc.txt
Normal file
@@ -0,0 +1,48 @@
|
||||
==============================================================================
|
||||
ZGC / G1 open-loop latency harness
|
||||
==============================================================================
|
||||
collector : ZGC Minor Cycles + ZGC Minor Pauses + ZGC Major Cycles + ZGC Major Pauses
|
||||
java : 25.0.3+9-LTS-195
|
||||
threads=4 rate=20,000/s warmup=20s measure=60s
|
||||
liveSet=150,000 entries x 4,096 B (~585 MB live)
|
||||
garbage=16,384 B/request reads=64/request mutationProbability=0.20
|
||||
nominal allocation rate ~328 MB/s seed=20260730
|
||||
------------------------------------------------------------------------------
|
||||
building live set ... 150,000 entries, ~589 MB live, took 310 ms
|
||||
warming up for 20 s at 20,000 req/s ...
|
||||
measuring for 60 s at 20,000 req/s ...
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
achieved throughput : 19,973 req/s over 60.1 s
|
||||
|
||||
RESPONSE TIME (from intended arrival -- the honest number) (n=1,200,000)
|
||||
mean 0.016 ms
|
||||
p50 0.006 ms
|
||||
p90 0.009 ms
|
||||
p99 0.029 ms
|
||||
p99.9 1.437 ms
|
||||
p99.99 23.675 ms
|
||||
max 32.178 ms
|
||||
|
||||
SERVICE TIME (from actual start -- hides queueing) (n=1,200,000)
|
||||
mean 0.007 ms
|
||||
p50 0.006 ms
|
||||
p90 0.009 ms
|
||||
p99 0.025 ms
|
||||
p99.9 0.143 ms
|
||||
p99.99 0.269 ms
|
||||
max 8.353 ms
|
||||
|
||||
coordinated-omission gap at p99.9 : 1.437 ms response vs 0.143 ms service (10.0x)
|
||||
|
||||
GC activity during the measured window
|
||||
ZGC Minor Cycles collections=18 time= 919 ms [cycle (mostly concurrent)]
|
||||
ZGC Minor Pauses collections=54 time= 0 ms [stop-the-world]
|
||||
ZGC Major Cycles collections=3 time= 667 ms [cycle (mostly concurrent)]
|
||||
ZGC Major Pauses collections=15 time= 0 ms [stop-the-world]
|
||||
|
||||
CSV (response time)
|
||||
collector,n,mean_ms,p50_ms,p90_ms,p99_ms,p999_ms,p9999_ms,max_ms
|
||||
ZGC Minor Cycles + ZGC Minor Pauses + ZGC Major Cycles + ZGC Major Pauses,1200000,0.016,0.006,0.009,0.029,1.437,23.675,32.178
|
||||
|
||||
liveSet checksum: 1
|
||||
20
results/04-stalls-g1.txt
Normal file
20
results/04-stalls-g1.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
max heap : 512 MB
|
||||
target live set : 281 MB (55% of heap)
|
||||
threads : 12, duration: 20 s
|
||||
|
||||
filling live set ...
|
||||
live set filled: 4,505 chunks x 64 KB
|
||||
now allocating hard for 20 s -- expect stalls
|
||||
|
||||
allocation phase done
|
||||
|
||||
========================================================================
|
||||
JFR summary (C:\Users\Ankur\allocation-stalls.jfr)
|
||||
========================================================================
|
||||
young collections : 0
|
||||
old collections : 0
|
||||
page allocations : 0
|
||||
ALLOCATION STALLS : 0
|
||||
|
||||
No stalls recorded. Either the heap was big enough, or you are not
|
||||
running ZGC. Shrink -Xmx or raise -Dseconds and try again.
|
||||
41
results/04-stalls-zgc-baseline.txt
Normal file
41
results/04-stalls-zgc-baseline.txt
Normal file
@@ -0,0 +1,41 @@
|
||||
max heap : 512 MB
|
||||
target live set : 281 MB (55% of heap)
|
||||
threads : 12, duration: 20 s
|
||||
|
||||
filling live set ...
|
||||
live set filled: 4,505 chunks x 64 KB
|
||||
now allocating hard for 20 s -- expect stalls
|
||||
|
||||
allocation phase done
|
||||
|
||||
========================================================================
|
||||
JFR summary (C:\Users\Ankur\allocation-stalls.jfr)
|
||||
========================================================================
|
||||
young collections : 1,771
|
||||
old collections : 217
|
||||
page allocations : 39,796
|
||||
ALLOCATION STALLS : 32,200
|
||||
|
||||
total time threads spent stalled : 139,439 ms
|
||||
mean stall : 4.33 ms
|
||||
longest stall : 48.32 ms
|
||||
|
||||
stalls by ZGC page type
|
||||
Small count=32,200 total=139,439 ms mean=4.33 ms
|
||||
|
||||
ten longest stalls
|
||||
duration page size thread
|
||||
48.32 ms Small 2097152 allocator-3
|
||||
47.99 ms Small 2097152 allocator-10
|
||||
46.39 ms Small 2097152 allocator-1
|
||||
46.23 ms Small 2097152 allocator-0
|
||||
46.19 ms Small 2097152 allocator-7
|
||||
46.18 ms Small 2097152 allocator-5
|
||||
45.11 ms Small 2097152 allocator-6
|
||||
44.85 ms Small 2097152 allocator-7
|
||||
44.68 ms Small 2097152 allocator-10
|
||||
44.49 ms Small 2097152 allocator-0
|
||||
|
||||
Compare against your pause-time chart: none of the above is a pause.
|
||||
Inspect the raw events, including the stack that was stalled, with:
|
||||
jfr print --events ZAllocationStall allocation-stalls.jfr
|
||||
41
results/04-stalls-zgc-softmax.txt
Normal file
41
results/04-stalls-zgc-softmax.txt
Normal file
@@ -0,0 +1,41 @@
|
||||
max heap : 512 MB
|
||||
target live set : 281 MB (55% of heap)
|
||||
threads : 12, duration: 20 s
|
||||
|
||||
filling live set ...
|
||||
live set filled: 4,505 chunks x 64 KB
|
||||
now allocating hard for 20 s -- expect stalls
|
||||
|
||||
allocation phase done
|
||||
|
||||
========================================================================
|
||||
JFR summary (C:\Users\Ankur\allocation-stalls.jfr)
|
||||
========================================================================
|
||||
young collections : 1,778
|
||||
old collections : 217
|
||||
page allocations : 39,685
|
||||
ALLOCATION STALLS : 31,967
|
||||
|
||||
total time threads spent stalled : 138,521 ms
|
||||
mean stall : 4.33 ms
|
||||
longest stall : 51.41 ms
|
||||
|
||||
stalls by ZGC page type
|
||||
Small count=31,967 total=138,521 ms mean=4.33 ms
|
||||
|
||||
ten longest stalls
|
||||
duration page size thread
|
||||
51.41 ms Small 2097152 allocator-10
|
||||
50.18 ms Small 2097152 allocator-0
|
||||
48.12 ms Small 2097152 allocator-5
|
||||
47.93 ms Small 2097152 allocator-1
|
||||
46.90 ms Small 2097152 allocator-1
|
||||
46.14 ms Small 2097152 allocator-11
|
||||
46.14 ms Small 2097152 allocator-11
|
||||
46.08 ms Small 2097152 allocator-6
|
||||
46.02 ms Small 2097152 allocator-4
|
||||
45.68 ms Small 2097152 allocator-9
|
||||
|
||||
Compare against your pause-time chart: none of the above is a pause.
|
||||
Inspect the raw events, including the stack that was stalled, with:
|
||||
jfr print --events ZAllocationStall allocation-stalls.jfr
|
||||
41
results/04-stalls-zgc-spiketolerance.txt
Normal file
41
results/04-stalls-zgc-spiketolerance.txt
Normal file
@@ -0,0 +1,41 @@
|
||||
max heap : 512 MB
|
||||
target live set : 281 MB (55% of heap)
|
||||
threads : 12, duration: 20 s
|
||||
|
||||
filling live set ...
|
||||
live set filled: 4,505 chunks x 64 KB
|
||||
now allocating hard for 20 s -- expect stalls
|
||||
|
||||
allocation phase done
|
||||
|
||||
========================================================================
|
||||
JFR summary (C:\Users\Ankur\allocation-stalls.jfr)
|
||||
========================================================================
|
||||
young collections : 1,722
|
||||
old collections : 219
|
||||
page allocations : 39,803
|
||||
ALLOCATION STALLS : 32,442
|
||||
|
||||
total time threads spent stalled : 140,558 ms
|
||||
mean stall : 4.33 ms
|
||||
longest stall : 50.33 ms
|
||||
|
||||
stalls by ZGC page type
|
||||
Small count=32,442 total=140,558 ms mean=4.33 ms
|
||||
|
||||
ten longest stalls
|
||||
duration page size thread
|
||||
50.33 ms Small 2097152 allocator-10
|
||||
48.98 ms Small 2097152 allocator-5
|
||||
48.96 ms Small 2097152 allocator-6
|
||||
48.84 ms Small 2097152 allocator-7
|
||||
48.79 ms Small 2097152 allocator-1
|
||||
47.89 ms Small 2097152 allocator-0
|
||||
47.33 ms Small 2097152 allocator-10
|
||||
47.12 ms Small 2097152 allocator-3
|
||||
46.96 ms Small 2097152 allocator-5
|
||||
46.71 ms Small 2097152 allocator-1
|
||||
|
||||
Compare against your pause-time chart: none of the above is a pause.
|
||||
Inspect the raw events, including the stack that was stalled, with:
|
||||
jfr print --events ZAllocationStall allocation-stalls.jfr
|
||||
19
results/05-pages-g1.txt
Normal file
19
results/05-pages-g1.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
==========================================================================
|
||||
Page / region geometry as reported by THIS JVM
|
||||
==========================================================================
|
||||
max heap : 2,048 MB
|
||||
UseG1GC / UseZGC : true / false
|
||||
G1HeapRegionSize : 1,048,576 bytes (1 MB)
|
||||
=> G1 humongous threshold: objects larger than 524,288 bytes (512 KB) go straight to old gen
|
||||
|
||||
No jdk.ZPageAllocation events (expected under G1).
|
||||
|
||||
Objects allocated in this run
|
||||
65,536 bytes (64 KB) ordinary G1 allocation in an eden region
|
||||
262,144 bytes (256 KB) ordinary G1 allocation in an eden region
|
||||
524,288 bytes (512 KB) ordinary G1 allocation in an eden region
|
||||
2,097,152 bytes (2 MB) HUMONGOUS on G1 -- allocated directly in old gen, spans whole regions
|
||||
4,194,304 bytes (4 MB) HUMONGOUS on G1 -- allocated directly in old gen, spans whole regions
|
||||
16,777,216 bytes (16 MB) HUMONGOUS on G1 -- allocated directly in old gen, spans whole regions
|
||||
|
||||
checksum: 6
|
||||
33
results/05-pages-zgc.txt
Normal file
33
results/05-pages-zgc.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
==========================================================================
|
||||
Page / region geometry as reported by THIS JVM
|
||||
==========================================================================
|
||||
max heap : 2,048 MB
|
||||
UseG1GC / UseZGC : false / true
|
||||
G1HeapRegionSize : 0 (ergonomic / not applicable)
|
||||
=> ZGC small pages are 2 MB; objects up to 1/8 of a page (256 KB) use them.
|
||||
Larger objects use a medium page, and anything bigger gets a Large page
|
||||
of its own -- which ZGC frees rather than relocates.
|
||||
|
||||
ZGC internals flags visible in this JVM
|
||||
ZFragmentationLimit = 5.0
|
||||
ZCollectionIntervalMinor = -1.0
|
||||
ZCollectionIntervalMajor = -1.0
|
||||
ZAllocationSpikeTolerance = 2.0
|
||||
ZUncommit = false
|
||||
ZUncommitDelay = 300
|
||||
SoftMaxHeapSize = 2,147,483,648 bytes (2048 MB)
|
||||
|
||||
ZGC pages actually allocated while creating the objects above
|
||||
page type count total bytes
|
||||
Large 2 25,165,824
|
||||
Medium 1 33,554,432
|
||||
|
||||
Objects allocated in this run
|
||||
65,536 bytes (64 KB) expect ZGC Small page (2 MB, shared with other objects)
|
||||
262,144 bytes (256 KB) expect ZGC Medium page (shared; size is a range in JDK 25)
|
||||
524,288 bytes (512 KB) expect ZGC Medium page (shared; size is a range in JDK 25)
|
||||
2,097,152 bytes (2 MB) expect ZGC Medium page (shared; size is a range in JDK 25)
|
||||
4,194,304 bytes (4 MB) expect ZGC Large page -- one page for this object, freed not relocated
|
||||
16,777,216 bytes (16 MB) expect ZGC Large page -- one page for this object, freed not relocated
|
||||
|
||||
checksum: 6
|
||||
40
results/06-gclog-g1.txt
Normal file
40
results/06-gclog-g1.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
==============================================================================
|
||||
GC log analysis: g1-latency.log
|
||||
==============================================================================
|
||||
lines parsed : 1,257
|
||||
young / minor cycles : 94
|
||||
old / major cycles : 0
|
||||
ZGC allocation stalls : 0
|
||||
G1 evacuation failures : 16
|
||||
full GCs : 4
|
||||
|
||||
STOP-THE-WORLD PAUSES (this is application freeze time)
|
||||
count : 68
|
||||
total : 1,139.624 ms
|
||||
mean : 16.759 ms
|
||||
p50 : 12.857 ms
|
||||
p99 : 104.449 ms
|
||||
max : 104.449 ms
|
||||
|
||||
by phase
|
||||
Pause Young (Normal) n=17 total= 403.699 ms max=103.308 ms
|
||||
Pause Young (Concurrent Start) n=11 total= 153.384 ms max= 20.587 ms
|
||||
Pause Remark n=10 total= 13.736 ms max= 1.745 ms
|
||||
Pause Cleanup n=9 total= 2.472 ms max= 0.438 ms
|
||||
Pause Young (Prepare Mixed) n=8 total= 110.491 ms max= 24.639 ms
|
||||
Pause Young (Mixed) n=11 total= 247.284 ms max= 30.879 ms
|
||||
Pause Full n=2 total= 208.558 ms max=104.449 ms
|
||||
|
||||
CONCURRENT PHASES (application keeps running -- NOT freeze time)
|
||||
Concurrent Scan Root Regions n=11 total= 12.317 ms max= 1.867 ms
|
||||
Concurrent Mark From Roots n=11 total= 191.931 ms max=102.516 ms
|
||||
Concurrent Preclean n=10 total= 0.265 ms max= 0.050 ms
|
||||
Concurrent Mark n=10 total= 106.217 ms max= 14.524 ms
|
||||
Concurrent Rebuild Remembered Sets and Scrub Regions n=10 total= 146.586 ms max=113.784 ms
|
||||
Concurrent Clear Claimed Marks n=9 total= 0.227 ms max= 0.039 ms
|
||||
Concurrent Cleanup for Next Mark n=9 total= 31.227 ms max= 4.862 ms
|
||||
Concurrent Mark Cycle n=11 total= 406.062 ms max=125.183 ms
|
||||
|
||||
Adding the block above to the pause block would be a category error:
|
||||
concurrent time overlaps application execution by design.
|
||||
|
||||
36
results/06-gclog-zgc.txt
Normal file
36
results/06-gclog-zgc.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
==============================================================================
|
||||
GC log analysis: zgc-latency.log
|
||||
==============================================================================
|
||||
lines parsed : 2,247
|
||||
young / minor cycles : 45
|
||||
old / major cycles : 17
|
||||
ZGC allocation stalls : 40
|
||||
G1 evacuation failures : 0
|
||||
full GCs : 0
|
||||
|
||||
STOP-THE-WORLD PAUSES (this is application freeze time)
|
||||
count : 106
|
||||
total : 1.503 ms
|
||||
mean : 0.014 ms
|
||||
p50 : 0.014 ms
|
||||
p99 : 0.044 ms
|
||||
max : 0.054 ms
|
||||
|
||||
by phase
|
||||
Pause Mark Start (Major) n=8 total= 0.139 ms max= 0.021 ms
|
||||
Pause Mark End n=38 total= 0.683 ms max= 0.044 ms
|
||||
Pause Relocate Start n=38 total= 0.330 ms max= 0.021 ms
|
||||
Pause Mark Start n=22 total= 0.351 ms max= 0.054 ms
|
||||
|
||||
CONCURRENT PHASES (application keeps running -- NOT freeze time)
|
||||
Concurrent Mark n=38 total= 894.499 ms max= 78.403 ms
|
||||
Concurrent Mark Free n=38 total= 0.097 ms max= 0.033 ms
|
||||
Concurrent Reset Relocation Set n=38 total= 4.331 ms max= 0.934 ms
|
||||
Concurrent Select Relocation Set n=38 total= 48.991 ms max= 5.372 ms
|
||||
Concurrent Relocate n=38 total=1092.392 ms max=151.380 ms
|
||||
Concurrent Process Non n=8 total= 5.635 ms max= 0.984 ms
|
||||
Concurrent Remap Roots n=8 total= 10.919 ms max= 2.207 ms
|
||||
|
||||
Adding the block above to the pause block would be a category error:
|
||||
concurrent time overlaps application execution by design.
|
||||
|
||||
2659
results/07-jmh-g1.json
Normal file
2659
results/07-jmh-g1.json
Normal file
File diff suppressed because it is too large
Load Diff
1295
results/07-jmh-g1.txt
Normal file
1295
results/07-jmh-g1.txt
Normal file
File diff suppressed because it is too large
Load Diff
2659
results/07-jmh-zgc.json
Normal file
2659
results/07-jmh-zgc.json
Normal file
File diff suppressed because it is too large
Load Diff
1295
results/07-jmh-zgc.txt
Normal file
1295
results/07-jmh-zgc.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user