Byte-Me
FullJEP
JEPMap
JEPSearch
hsdis
JITWatch
JaCoLine
VM Options Explorer
VM Intrinsics Explorer
GC Explorer
Optimizing Java
Thank You!
VM Options Explorer - Switch comparison of OpenJDK21 vs SapMachine JDK21
OpenJDK HotSpot
Options added/removed between JDKs
OpenJDK options also hosted on
foojay.io
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Alibaba Dragonwell
8
11
17
21
Amazon Corretto
8
11
17
19
20
21
Azul Systems
Platform Prime
Zulu
8
11
13
15
17
19
8
11
13
15
16
17
18
19
20
21
BellSoft Liberica
8
11
17
18
19
20
21
Eclipse Temurin
8
11
17
18
19
20
21
GraalVM 22.3.1
11
17
19
CE
EE
CE
EE
CE
EE
EE-only
EE-only
EE-only
GraalVM native-image 22.3.1
11
17
19
CE
EE
CE
EE
CE
EE
EE-only
EE-only
EE-only
JDK-based GraalVM
17
21
JDK
Native
JDK
Native
Microsoft
11
16
17
21
OpenJ9
OpenJ9
Oracle
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SAP SapMachine
11
17
19
20
21
SapMachine JDK21 changed default values for:
Name
OpenJDK21 value
SapMachine JDK21 value
ExtensiveErrorReports
PRODUCT_ONLY(false) NOT_PRODUCT(true)
PRODUCT_ONLY(true) NOT_PRODUCT(true)
LockingMode
LM_LEGACY
LM_LIGHTWEIGHT
LogEventsBufferEntries
20
75
PrintExtendedThreadInfo
false
true
SapMachine JDK21 added:
AbortVMOnSafepointTimeoutDelay
AlwaysRecordEvolDependencies
CaptureBailoutInformation
DelayThreadStartALot
DumpVitalsAtExit
EnableMallocTrace
EnableVitals
EnableX86ECoreOpts
ExitVMOnOutOfMemoryError
FullGCHeapDumpLimit
G1GCAllocationFailureALot
G1GCAllocationFailureALotCSetPercent
G1GCAllocationFailureALotCount
G1GCAllocationFailureALotDuringConcMark
G1GCAllocationFailureALotDuringConcurrentStart
G1GCAllocationFailureALotDuringMixedGC
G1GCAllocationFailureALotDuringYoungGC
G1GCAllocationFailureALotInterval
G1NumCodeRootsCostSampleThreshold
G1NumCollectionsKeepPinned
G1RetainRegionLiveThresholdPercent
HiMemReport
HiMemReportDir
HiMemReportExec
HiMemReportMax
InlineCacheBufferSize
InlineSecondarySupersTest
LibJVMCICompilerThreadHidden
LogClassLoadingCauseFor
MallocTraceAtStartup
MallocTraceDetailedStats
MallocTraceDumpCount
MallocTraceDumpDelay
MallocTraceDumpFilter
MallocTraceDumpHideDumpAllocs
MallocTraceDumpInternalStats
MallocTraceDumpInterval
MallocTraceDumpMaxEntries
MallocTraceDumpOnError
MallocTraceDumpOutput
MallocTraceDumpPercentage
MallocTraceDumpSortByCount
MallocTraceEnableDelay
MallocTraceExitIfFail
MallocTraceOnlyNth
MallocTraceRainyDayFund
MallocTraceStackDepth
MallocTraceTrackFree
MallocTraceUnwindLibName
MallocTraceUseBacktrace
MonitorUnlinkBatch
PrintMallocTraceAtExit
PrintVitalsAtExit
ProfileExceptionHandlers
RandomizeClassSpaceLocation
ReduceAllocationMerges
ServiceThreadCleanupInterval
ShenandoahNoProgressThreshold
SimulateFullAddressSpace
StoreVitalsExtremas
StressIncrementalInlining
StressMacroExpansion
StressPrunedExceptionHandlers
StressSecondarySupers
THPStackMitigation
TimerSlack
TraceBytecodesStopAt
TraceReduceAllocationMerges
TrimNativeHeapInterval
TypeProfileSubTypeCheckCommonThreshold
UseMadvPopulateWrite
UseMallocHooks
UseSecondarySupersCache
UseSecondarySupersTable
UserThreadWaitAttemptsAtExit
VerifyAlignVector
VerifyReduceAllocationMerges
VerifySecondarySupers
VitalsFile
VitalsLockFreeSampling
VitalsLongTermSampleIntervalMinutes
VitalsLongTermTableDays
VitalsSampleInterval
VitalsShortTermTableHours
ZapTLAB
SapMachine JDK21 removed:
AdaptiveSizePolicyCollectionCostMargin
ArrayAllocatorMallocLimit
DoReserveCopyInSuperWord
G1EvacuationFailureALot
G1EvacuationFailureALotCSetPercent
G1EvacuationFailureALotCount
G1EvacuationFailureALotDuringConcMark
G1EvacuationFailureALotDuringConcurrentStart
G1EvacuationFailureALotDuringMixedGC
G1EvacuationFailureALotDuringYoungGC
G1EvacuationFailureALotInterval
GCLockerEdenExpansionPercent
InitialRAMFraction
MaxGCMinorPauseMillis
MaxRAMFraction
MinRAMFraction
NUMAPageScanRate
ParallelOldDeadWoodLimiterMean
ParallelOldDeadWoodLimiterStdDev
PostLoopMultiversioning
ProcessDistributionStride
ShenandoahElasticTLAB
ShenandoahLoopOptsAfterExpansion
ShenandoahNMethodBarrier
ShenandoahSelfFixing
ShenandoahSuspendibleWorkers
ShenandoahUnloadClassesFrequency
TLABStats
UseCounterDecay
UseHugeTLBFS
UseSHM
VerifyGCLevel
VerifyObjectStartArray