Java 8 GC Tutorials - Herong's Tutorial Examples - v1.03, by Dr. Herong Yang
"-XX:+PrintFlagsFinal" - Print JVM Options
This section describes the '-XX:+PrintFlagsFinal' JVM option, which prints all options and their values used by the JVM.
If want to know what are default options used by the JVM, you can use the "-XX:+PrintFlagsFinal" option to print them out:
herong> \progra~1\java\jdk1.8.0\bin\java \
-XX:+PrintFlagsFinal GarbageCollection
[Global flags]
uintx AdaptiveSizeDecrementScaleFactor = 4
uintx AdaptiveSizeMajorGCDecayTimeScale = 10
uintx AdaptiveSizePausePolicy = 0
uintx AdaptiveSizePolicyCollectionCostMargin = 50
uintx AdaptiveSizePolicyInitializingSteps = 20
...
bool AlwaysTenure = false
uintx AutoGCSelectPauseMillis = 5000
bool CMSAbortSemantics = false
uintx CMSAbortablePrecleanMinWorkPerIteration = 100
intx CMSAbortablePrecleanWaitMillis = 100
uintx CMSBitMapYieldQuantum = 10485760
double G1ConcMarkStepDurationMillis = 10.000000
uintx G1ConcRSHotCardLimit = 4
uintx G1ConcRSLogCacheSize = 10
uintx GCHeapFreeLimit = 2
uintx GCLockerEdenExpansionPercent = 5
bool GCLockerInvokesConcurrent = false
uintx GCLogFileSize = 8192
uintx GCPauseIntervalMillis = 0
uintx GCTaskTimeStampEntries = 200
uintx GCTimeLimit = 98
uintx GCTimeRatio = 99
uintx InitialHeapSize := 16777216
uintx InitialSurvivorRatio = 8
uintx InitialTenuringThreshold = 7
uintx MaxNewSize := 89456640
uintx MinHeapFreeRatio = 40
uintx MinSurvivorRatio = 3
uintx NewRatio = 2
uintx NewSize := 5570560
uintx NewSizeThreadIncrease = 4096
intx ParGCArrayScanChunk = 50
uintx ParGCDesiredObjsFromOverflowList = 20
bool ParGCTrimOverflow = true
bool ParGCUseLocalOverflow = false
uintx ParallelGCBufferWastePct = 10
uintx ParallelGCThreads = 0
bool ParallelGCVerbose = false
uintx ParallelOldDeadWoodLimiterMean = 50
uintx ParallelOldDeadWoodLimiterStdDev = 80
bool ParallelRefProcBalancingEnabled = true
bool ParallelRefProcEnabled = false
bool PrintCMSInitiationStatistics = false
intx PrintCMSStatistics = 0
bool PrintGC = false
bool PrintGCApplicationConcurrentTime = false
bool PrintGCApplicationStoppedTime = false
bool PrintGCCause = true
bool PrintGCDateStamps = false
bool PrintGCDetails = false
bool PrintGCID = false
bool PrintGCTaskTimeStamps = false
bool PrintGCTimeStamps = false
bool PrintHeapAtGC = false
uintx SurvivorPadding = 3
uintx SurvivorRatio = 8
bool UseCMSBestFit = true
bool UseCMSCollectionPassing = true
bool UseCMSCompactAtFullCollection = true
bool UseCMSInitiatingOccupancyOnly = false
bool UseConcMarkSweepGC = false
bool UseG1GC = false
bool UseGCLogFileRotation = false
bool UseGCOverheadLimit = true
bool UseGCTaskAffinity = false
bool UsePSAdaptiveSurvivorSizePolicy = true
bool UseParNewGC = false
bool UseParallelGC = false
bool UseParallelOldGC = false
bool UseSerialGC = false
uintx YoungGenerationSizeIncrement = 20
uintx YoungGenerationSizeSupplement = 80
uintx YoungGenerationSizeSupplementDecay = 8
uintx YoungPLABSize = 4096
...
Table of Contents
Heap Memory Area and Size Control
►JVM Garbage Collection Logging
Garbage Collection Demo Program
Garbage Collection Logging Options
"-XX:+PrintGC" - GC Logging Option for Short Messages
"-XX:+PrintGCDetails" - Option for Detailed GC Messages
"-XX:+PrintGCDateStamps" - Calendar Timestamp on GC Messages
"-XX:+PrintGCApplicationStoppedTime" - Application Pause Durations
"-XX:+PrintGCApplicationConcurrentTime" - Application Running Durations
"-XX:+PrintHeapAtGC" - Print Heap Summary per GC
"-XX:+PrintTenuringDistribution" - Tunuring Distribution
"-XX:+PrintReferenceGC" - Reference Counts per GC
►"-XX:+PrintFlagsFinal" - Print JVM Options
Introduction of Garbage Collectors
Serial Collector - "+XX:+UseSerialGC"
Parallel Collector - "+XX:+UseParallelGC"
Concurrent Mark-Sweep (CMS) Collector - "+XX:+UseConcMarkSweepGC"
Garbage First (G1) Collector - "+XX:+UseG1GC"
Object References and Garbage Collection
Garbage Collection Performance Test Program
Performance Tests on Serial Collector
Performance Tests on Parallel collector
Performance Tests on Concurrent collector
Performance Tests on G1 collector