JaCoLine - Viewing Historical Command Line #13178

Analysis Date JDK Operating System CPU Architecture Debug JVM?
2025-12-16 OpenJDK8 Linux x86 N
Results
Switches Identified
Switch Analysis
Name Type Description Default Value Your Value
UnlockExperimentalVMOptions boolean Enable normal processing of flags relating to experimental
features
false true
Analysis OK
Name Type Description Default Value Your Value
ms <size> set initial Java heap size 2g
Analysis OK
Name Type Description Default Value Your Value
mx <size> set maximum Java heap size 2g
Analysis OK
Name Type Description Default Value Your Value
MetaspaceSize int Initial size of Metaspaces (in bytes)
ComponentCPUDefault
c1x8612*M
c2x86ScaleForWordSize(16*M)
128m
Analysis OK
Name Type Description Default Value Your Value
MaxMetaspaceSize int Maximum size of Metaspaces (in bytes) max_uintx 512m
Analysis OK
Name Type Description Default Value Your Value
CompressedClassSpaceSize int Maximum size of class area in Metaspace when compressed
class pointers are used
1*G 128m
Analysis OK
Name Type Description Default Value Your Value
MaxDirectMemorySize int Maximum total size of NIO direct-buffer allocations 0 768m
Analysis OK
Name Type Description Default Value Your Value
UseShenandoahGC boolean Use the Shenandoah garbage collector false true
Analysis This switch is not available until OpenJDK12. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
ShenandoahGCMode string GC mode to use. Among other things, this defines which
barriers are in in use. Possible values are:
satb - snapshot-at-the-beginning concurrent GC (three pass mark-evac-update);
iu - incremental-update concurrent GC (three pass mark-evac-update);
passive - stop the world GC only (either degenerated or full)
satb iu
Analysis This switch is not available until OpenJDK11. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
ShenandoahGCHeuristics string GC heuristics to use. This fine-tunes the GC mode selected,
by choosing when to start the GC, how much to process on each
cycle, and what other features to automatically enable.
Possible values are:
adaptive - adapt to maintain the given amount of free heap
at all times, even during the GC cycle;
static - trigger GC when free heap falls below the threshold;
aggressive - run GC continuously, try to evacuate everything;
compact - run GC more frequently and with deeper targets to
free up more memory.
adaptive compact
Analysis This switch is not available until OpenJDK11. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
ShenandoahInitFreeThreshold int How much heap should be free before some heuristics trigger the
initial (learning) cycles. Affects cycle frequency on startup
and after drastic state changes, e.g. after degenerated/full
GC cycles. In percents of (soft) max heap size.
70 in range(0,100) 70
Analysis This switch is not available until OpenJDK11. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
ShenandoahMinFreeThreshold int How much heap should be free before most heuristics trigger the
collection, even without other triggers. Provides the safety
margin for many heuristics. In percents of (soft) max heap size.
10 in range(0,100) 5
Analysis This switch is not available until OpenJDK11. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
ShenandoahUncommit boolean Allow to uncommit memory under unused regions and metadata.
This optimizes footprint at expense of allocation latency in
regions that require committing back. Uncommits would be
disabled by some heuristics, or with static heap size.
true true
Analysis This switch is not available until OpenJDK11. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
ShenandoahUncommitDelay int Uncommit memory for regions that were not used for more than
this time. First use after that would incur allocation stalls.
Actively used regions would never be uncommitted, because they
do not become unused longer than this delay. Time is in
milliseconds. Setting this delay to 0 effectively uncommits
regions almost immediately after they become unused.
5*60*1000 5000
Analysis This switch is not available until OpenJDK11. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
ShrinkHeapInSteps boolean When disabled, informs the GC to shrink the java heap directly
to the target size at the next full GC rather than requiring
smaller steps during multiple full GCs.
true true
Analysis This switch is not available until OpenJDK9. Your analysis was for OpenJDK8
Name Type Description Default Value Your Value
MinHeapFreeRatio int The minimum percentage of heap free after GC to avoid expansion.
For most GCs this applies to the old generation. In G1 and
ParallelGC it applies to the whole heap.
40 10
Analysis OK
Name Type Description Default Value Your Value
MaxHeapFreeRatio int The maximum percentage of heap free after GC to avoid shrinking.
For most GCs this applies to the old generation. In G1 and
ParallelGC it applies to the whole heap.
70 30
Analysis OK
Name Type Description Default Value Your Value
GCTimeRatio int Adaptive size policy application time to GC time ratio 99 99
Analysis OK
Name Type Description Default Value Your Value
UseStringDeduplication boolean Use string deduplication false true
Analysis OK
Name Type Description Default Value Your Value
StringTableSize int Number of buckets in the interned String table defaultStringTableSize 65536
Analysis OK
Name Type Description Default Value Your Value
UseCompressedOops boolean Use 32-bit object references in 64-bit VM.
lp64_product means flag is always constant in 32 bit VM
false true
Analysis OK
Name Type Description Default Value Your Value
UseCompressedClassPointers boolean Use 32-bit class pointers in 64-bit VM.
lp64_product means flag is always constant in 32 bit VM
false true
Analysis This switch will be removed in the future. It will be Deprecated in OpenJDK25. Obsoleted in OpenJDK27.
Name Type Description Default Value Your Value
DoEscapeAnalysis boolean Perform escape analysis true true
Analysis OK
Name Type Description Default Value Your Value
EliminateAllocations boolean Use escape analysis to eliminate allocations true true
Analysis OK
Name Type Description Default Value Your Value
EliminateLocks boolean Coarsen locks when possible true true
Analysis OK
Name Type Description Default Value Your Value
OptimizeStringConcat boolean Optimize the construction of Strings by StringBuilder true true
Analysis OK
Name Type Description Default Value Your Value
TieredCompilation boolean Enable tiered compilation
ComponentCPUDefault
c1x86false
c2x86trueInTiered
true
Analysis OK
Name Type Description Default Value Your Value
TieredStopAtLevel int Stop at given compilation level 4 4
Analysis OK
Name Type Description Default Value Your Value
CompileThreshold int number of interpreted method invocations before (re-)compiling
ComponentCPUDefault
c1x861500
c2x8610000
2000
Analysis OK
Name Type Description Default Value Your Value
OnStackReplacePercentage int NON_TIERED number of method invocations/branches (expressed as
% of CompileThreshold) before (re-)compiling OSR code
ComponentCPUDefault
c1x86933
c2x86140
140
Analysis OK
Name Type Description Default Value Your Value
FreqInlineSize int The maximum bytecode size of a frequent method to be inlined
ComponentCPUDefault
c1x86325
c2x86325
300
Analysis OK
Name Type Description Default Value Your Value
MaxInlineSize int The maximum bytecode size of a method to be inlined 35 35
Analysis OK
Name Type Description Default Value Your Value
ParallelRefProcEnabled boolean Enable parallel reference processing whenever possible false true
Analysis This switch will be removed in the future. It will be Deprecated in OpenJDK26. Obsoleted in OpenJDK27. Expired in OpenJDK28.
Name Type Description Default Value Your Value
AlwaysPreTouch boolean Force all freshly committed pages to be pre-touched false true
Analysis OK
Name Type Description Default Value Your Value
ClassUnloading boolean Do unloading of classes true true
Analysis OK
Name Type Description Default Value Your Value
ClassUnloadingWithConcurrentMark boolean Do unloading of classes with a concurrent marking cycle true true
Analysis OK
Name Type Description Default Value Your Value
MetaspaceReclaimPolicy string options: balanced, aggressive, none balanced balanced
Analysis This switch is not available until OpenJDK16. Your analysis was for OpenJDK8