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