Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Let's Learn to Talk to GC Logs in Java 9

3,289 views

Published on

New GC Logging Format in Java 9

Published in: Software
  • Be the first to comment

Let's Learn to Talk to GC Logs in Java 9

  1. 1. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Let’s Learn to Talk to GC Logs in Java 9 Poonam Bajaj Parhar Consulting Member of Technical Staff JVM Sustaining, Oracle March 22, 2017
  2. 2. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 4
  3. 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | New GC Logging in Java 9 5
  4. 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Agenda Unified JVM Logging Unified GC Logging -Xlog:gc Old GC Flags Examples 1 2 3 4 5 6
  5. 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Agenda Unified JVM Logging Unified GC Logging -Xlog:gc Old GC Flags Examples 1 2 3 4 5 7
  6. 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Unified JVM Logging • JEP 158: Unified JVM Logging – http://openjdk.java.net/jeps/158 • Common command line option for logging from all sub-systems: -Xlog • Logging messages categorized using tags – gc, class, jfr, modules, os, thread etc. – Messages can have multiple tags (tag-set) • All logging follows standard and defined levels – error, warning, info, debug, trace, develop • Messages can be "decorated". The default decorations are: uptime, level, tags. • Possible to redirect logging to file 8
  7. 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Unified JVM Logging java -Xlog:help -Xlog Usage: -Xlog[:[what][:[output][:[decorators][:output-options]]]] where 'what' is a combination of tags and levels on the form tag1[+tag2...][*][=level][,...] Unless wildcard (*) is specified, only log messages tagged with exactly the tags specified will be matched. 9
  8. 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 10 -Xlog[:option] option := [<what>][:[<output>][:[<decorators>][:<output-options>]]] 'help' 'disable' what := <selector>[,...] selector := <tag-set>[*][=<level>] tag-set := <tag>[+...] 'all' tag := name of tag level := trace debug info warning error output := 'stderr' 'stdout' [file=]<filename> decorators := <decorator>[,...] 'none' decorator := time uptime timemillis uptimemillis timenanos uptimenanos pid tid level tags output-options := <output_option>[,...] output-option := filecount=<file count> filesize=<file size in kb> parameter=value -Xlog
  9. 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Agenda Unified JVM Logging Unified GC Logging -Xlog:gc Old GC Flags Examples 1 2 3 4 5 11
  10. 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Unified GC Logging • JEP 271: Unified GC Logging – http://openjdk.java.net/jeps/271 • -Xlog:gc • Old GC logging options removed • JDK-8145092: Use Unified Logging for the GC logging 12
  11. 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Agenda Unified JVM Logging Unified GC Logging -Xlog:gc Old GC Flags Examples 1 2 3 4 5 13
  12. 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 14 bash-3.2$ java -Xlog:gc=trace -jar GCBasher.jar -time:30000 [0.041s][trace][gc] MarkStackSize: 4096k MarkStackSizeMax: 16384k [0.136s][debug][gc] ConcGCThreads: 6 [0.136s][debug][gc] ParallelGCThreads: 23 [0.138s][debug][gc] Initialize mark stack with 4096 chunks, maximum 16384 [0.230s][info ][gc] Using G1 [3.461s][info ][gc] GC(0) Pause Young (G1 Evacuation Pause) 26M->5M(256M) 370.917ms [3.760s][info ][gc] GC(1) Pause Young (G1 Evacuation Pause) 14M->7M(256M) 50.613ms [4.056s][info ][gc] GC(2) Pause Young (G1 Evacuation Pause) 17M->10M(256M) 42.711ms [4.438s][info ][gc] GC(3) Pause Young (G1 Evacuation Pause) 20M->12M(256M) 48.097ms [4.868s][info ][gc] GC(4) Pause Young (G1 Evacuation Pause) 23M->14M(512M) 138.394ms [5.862s][info ][gc] GC(5) Pause Young (G1 Evacuation Pause) 37M->19M(512M) 128.830ms [6.444s][info ][gc] GC(6) Pause Young (G1 Evacuation Pause) 40M->24M(512M) 83.761ms [6.964s][info ][gc] GC(7) Pause Young (G1 Evacuation Pause) 45M->28M(512M) 82.317ms [7.639s][info ][gc] GC(8) Pause Young (G1 Evacuation Pause) 49M->33M(1025M) 264.165ms [10.877s][info ][gc] GC(9) Pause Young (G1 Evacuation Pause) 80M->42M(1025M) 140.376ms [11.996s][info ][gc] GC(10) Pause Young (G1 Evacuation Pause) 88M->51M(1025M) 156.818ms [12.997s][info ][gc] GC(11) Pause Young (G1 Evacuation Pause) 95M->59M(1025M) 128.167ms [14.224s][info ][gc] GC(12) Pause Young (G1 Evacuation Pause) 103M->69M(1812M) 432.548ms [17.484s][info ][gc] GC(13) Pause Young (G1 Evacuation Pause) 154M->87M(1812M) 249.748ms [19.387s][info ][gc] GC(14) Pause Young (G1 Evacuation Pause) 165M->103M(1812M) 244.751ms [21.352s][info ][gc] GC(15) Pause Young (G1 Evacuation Pause) 181M->117M(1812M) 214.431ms [23.913s][info ][gc] GC(16) Pause Young (G1 Evacuation Pause) 197M->136M(2396M) 465.712ms
  13. 13. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Agenda Unified JVM Logging Unified GC Logging -Xlog:gc Old GC Flags Examples 1 2 3 4 5 15
  14. 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Popular GC Logging Flags • -XX:+PrintGC • -XX:+PrintGCDetails • -Xloggc • Mapped to corresponding –Xlog configurations • Deprecated 16 Old New -XX:+PrintGC -Xlog:gc -XX:+PrintGCDetails -Xlog:gc* -Xloggc:<filename> -Xlog:gc:<filename>
  15. 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 17 CMSDumpAtPromotionFailure, CMSPrintEdenSurvivorChunks, G1LogLevel, G1PrintHeapRegions, G1PrintRegionLivenessInfo, G1SummarizeConcMark, G1SummarizeRSetStats, G1TraceConcRefinement, G1TraceEagerReclaimHumongousObjects, G1TraceStringSymbolTableScrubbing, GCLogFileSize, NumberOfGCLogFiles, PrintAdaptiveSizePolicy, PrintClassHistogramAfterFullGC, PrintClassHistogramBeforeFullGC, PrintCMSInitiationStatistics, PrintCMSStatistics, PrintFLSCensus, PrintFLSStatistics, PrintGCApplicationConcurrentTime, PrintGCApplicationStoppedTime, PrintGCCause, PrintGCDateStamps, PrintGCID, PrintGCTaskTimeStamps, PrintGCTimeStamps, PrintHeapAtGC, PrintHeapAtGCExtended, PrintJNIGCStalls, PrintOldPLAB, PrintParallelOldGCPhaseTimes, PrintPLAB, PrintPromotionFailure, PrintReferenceGC, PrintStringDeduplicationStatistics, PrintTaskqueue, PrintTenuringDistribution, PrintTerminationStats, PrintTLAB, TraceDynamicGCThreads, TraceMetadataHumongousAllocation, UseGCLogFileRotation, VerifySilently 43 GC Logging Flags Removed
  16. 16. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 18 -void GenCollectedHeap::print_heap_change(size_t prev_used) const { - if (PrintGCDetails && Verbose) { - gclog_or_tty->print(" " SIZE_FORMAT - "->" SIZE_FORMAT - "(" SIZE_FORMAT ")", - prev_used, used(), capacity()); - } else { - gclog_or_tty->print(" " SIZE_FORMAT "K" - "->" SIZE_FORMAT "K" - "(" SIZE_FORMAT "K)", - prev_used / K, used() / K, capacity() / K); - } +void GenCollectedHeap::print_heap_change(size_t young_prev_used, size_t old_prev_used) const { + log_info(gc, heap)("%s: " SIZE_FORMAT "K->" SIZE_FORMAT "K(" SIZE_FORMAT "K)", + _young_gen->short_name(), young_prev_used / K, _young_gen->used() /K, + _young_gen->capacity() /K); + log_info(gc, heap)("%s: " SIZE_FORMAT "K->" SIZE_FORMAT "K(" SIZE_FORMAT "K)", + _old_gen->short_name(), old_prev_used / K, _old_gen->used() /K, + _old_gen->capacity() /K); + } GC Logging code change
  17. 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 19 - if (PrintAdaptiveSizePolicy) { - ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); - gclog_or_tty->print("AdaptiveSizePolicy::survivor space sizes: " - "collection: %d " - "(" SIZE_FORMAT ", " SIZE_FORMAT ") -> " - "(" SIZE_FORMAT ", " SIZE_FORMAT ") ", - heap->total_collections(), - old_from, old_to, - from_space()->capacity_in_bytes(), - to_space()->capacity_in_bytes()); - gclog_or_tty->cr(); - } + log_trace(gc, ergo)("AdaptiveSizePolicy::survivor space sizes: " + "collection: %d " + "(" SIZE_FORMAT ", " SIZE_FORMAT ") -> " + "(" SIZE_FORMAT ", " SIZE_FORMAT ") ", + ParallelScavengeHeap::heap()->total_collections(), + old_from, old_to, + from_space()->capacity_in_bytes(), + to_space()->capacity_in_bytes()); + GC Logging code change
  18. 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Agenda Unified JVM Logging Unified GC Logging -Xlog:gc Old GC Flags Examples 1 2 3 4 5 20
  19. 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 21 bash-3.2$ java -XX:+UseG1GC -XX:+PrintGC GCTest [GC pause (G1 Evacuation Pause) (young) 24M->4527K(256M), 0.0861751 secs] [GC pause (G1 Evacuation Pause) (young) 20M->9270K(256M), 0.0630344 secs] [GC pause (G1 Evacuation Pause) (young) 35M->16M(256M), 0.0797056 secs] [GC pause (G1 Evacuation Pause) (young) 53M->26M(256M), 0.0793465 secs] [GC pause (G1 Evacuation Pause) (young) 69M->40M(256M), 0.0800461 secs] [GC pause (G1 Evacuation Pause) (young) 91M->56M(256M), 0.0977231 secs] [GC pause (G1 Evacuation Pause) (young) 113M->74M(256M), 0.0993368 secs] [GC pause (G1 Evacuation Pause) (young) 146M->100M(256M), 0.0960482 secs] [GC pause (G1 Evacuation Pause) (young) 184M->123M(256M), 0.1460180 secs] [GC pause (G1 Evacuation Pause) (young) 206M->146M(256M), 0.1060365 secs] [GC pause (G1 Evacuation Pause) (young) (initial-mark) 213M->168M(256M), 0.0964933 secs] [GC concurrent-root-region-scan-start] [GC concurrent-root-region-scan-end, 0.0372045 secs] [GC concurrent-mark-start] [GC concurrent-mark-end, 0.1160973 secs] [GC remark, 0.0143419 secs] [GC cleanup 176M->88M(256M), 0.0049707 secs] [GC concurrent-cleanup-start] [GC concurrent-cleanup-end, 0.0010084 secs] [GC pause (G1 Evacuation Pause) (young) 131M->98M(256M), 0.0967931 secs] [GC pause (G1 Evacuation Pause) (mixed) 102M->78M(256M), 0.0414904 secs] [GC pause (G1 Evacuation Pause) (mixed) 88M->72M(256M), 0.0424158 secs] [GC pause (G1 Evacuation Pause) (young) 201M->101M(256M), 0.1429243 secs] […] -XX:+PrintGC
  20. 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 22 bash-3.2$ java -Xlog:gc GCTest [0.222s][info][gc] Using G1 [2.825s][info][gc] GC(0) Pause Young (G1 Evacuation Pause) 26M->5M(256M) 355.623ms [3.096s][info][gc] GC(1) Pause Young (G1 Evacuation Pause) 14M->7M(256M) 50.030ms [3.385s][info][gc] GC(2) Pause Young (G1 Evacuation Pause) 17M->10M(256M) 40.576ms [3.722s][info][gc] GC(3) Pause Young (G1 Evacuation Pause) 20M->12M(256M) 44.238ms [4.146s][info][gc] GC(4) Pause Young (G1 Evacuation Pause) 24M->14M(512M) 129.102ms [4.911s][info][gc] GC(5) Pause Young (G1 Evacuation Pause) 37M->19M(512M) 116.106ms [5.387s][info][gc] GC(6) Pause Young (G1 Evacuation Pause) 40M->24M(512M) 77.929ms [5.852s][info][gc] GC(7) Pause Young (G1 Evacuation Pause) 45M->28M(512M) 79.247ms [6.458s][info][gc] GC(8) Pause Young (G1 Evacuation Pause) 49M->33M(1073M) 259.616ms [9.584s][info][gc] GC(9) Pause Young (G1 Evacuation Pause) 83M->44M(1073M) 132.574ms [10.602s][info][gc] GC(10) Pause Young (G1 Evacuation Pause) 91M->51M(1073M) 147.744ms [11.566s][info][gc] GC(11) Pause Young (G1 Evacuation Pause) 97M->61M(1073M) 127.917ms [12.748s][info][gc] GC(12) Pause Young (G1 Evacuation Pause) 107M->71M(1924M) 423.438ms [15.766s][info][gc] GC(13) Pause Young (G1 Evacuation Pause) 162M->89M(1924M) 249.404ms [17.484s][info][gc] GC(14) Pause Young (G1 Evacuation Pause) 173M->107M(1924M) 252.302ms […] -Xlog:gc
  21. 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 23 bash-3.2$ java -XX:+UseG1GC -XX:+PrintGCDetails GCTest [GC pause (G1 Evacuation Pause) (young), 0.0858830 secs] [Parallel Time: 73.2 ms, GC Workers: 23] [GC Worker Start (ms): Min: 2141.5, Avg: 2141.9, Max: 2142.3, Diff: 0.8] [Ext Root Scanning (ms): Min: 0.4, Avg: 1.3, Max: 17.6, Diff: 17.2, Sum: 31.0] [Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] [Processed Buffers: Min: 0, Avg: 0.0, Max: 0, Diff: 0, Sum: 0] [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.4] [Code Root Scanning (ms): Min: 0.0, Avg: 0.3, Max: 4.4, Diff: 4.4, Sum: 7.1] [Object Copy (ms): Min: 52.2, Avg: 67.6, Max: 69.9, Diff: 17.7, Sum: 1555.0] [Termination (ms): Min: 0.0, Avg: 1.1, Max: 2.3, Diff: 2.3, Sum: 26.0] [Termination Attempts: Min: 1, Avg: 5.3, Max: 10, Diff: 9, Sum: 123] [GC Worker Other (ms): Min: 1.2, Avg: 1.6, Max: 2.0, Diff: 0.8, Sum: 36.6] [GC Worker Total (ms): Min: 71.6, Avg: 72.0, Max: 72.4, Diff: 0.9, Sum: 1656.3] [GC Worker End (ms): Min: 2213.9, Avg: 2213.9, Max: 2214.0, Diff: 0.2] [Code Root Fixup: 1.2 ms] [Code Root Purge: 0.1 ms] [Clear CT: 1.2 ms] [Other: 10.3 ms] [Choose CSet: 0.1 ms] [Ref Proc: 5.1 ms] [Ref Enq: 0.1 ms] [Redirty Cards: 1.1 ms] [Humongous Register: 1.0 ms] [Humongous Reclaim: 0.0 ms] [Free CSet: 0.5 ms] [Eden: 24.0M(24.0M)->0.0B(16.0M) Survivors: 0.0B->3072.0K Heap: 24.0M(256.0M)->4529.0K(256.0M)] [Times: user=0.46 sys=0.92, real=0.09 secs] -XX:+PrintGCDetails
  22. 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 24 bash-3.2$ java -Xlog:gc* GCTest [0.233s][info][gc,heap] Heap region size: 1M [0.383s][info][gc ] Using G1 [0.383s][info][gc,heap,coops] Heap address: 0xfffffffe50400000, size: 4064 MB, Compressed Oops mode: Non-zero based: 0xfffffffe50000000, Oop shift amount: 3 [3.064s][info][gc,start ] GC(0) Pause Young (G1 Evacuation Pause) [3.064s][info][gc,task ] GC(0) Using 23 workers of 23 for evacuation [3.420s][info][gc,phases ] GC(0) Pre Evacuate Collection Set: 0.2ms [3.421s][info][gc,phases ] GC(0) Evacuate Collection Set: 348.0ms [3.421s][info][gc,phases ] GC(0) Post Evacuate Collection Set: 6.2ms [3.421s][info][gc,phases ] GC(0) Other: 2.8ms [3.421s][info][gc,heap ] GC(0) Eden regions: 24->0(9) [3.421s][info][gc,heap ] GC(0) Survivor regions: 0->3(3) [3.421s][info][gc,heap ] GC(0) Old regions: 0->2 [3.421s][info][gc,heap ] GC(0) Humongous regions: 2->1 [3.421s][info][gc,metaspace ] GC(0) Metaspace: 4719K->4719K(1056768K) [3.421s][info][gc ] GC(0) Pause Young (G1 Evacuation Pause) 26M->5M(256M) 357.743ms [3.422s][info][gc,cpu ] GC(0) User=0.70s Sys=5.13s Real=0.36s [3.648s][info][gc,start ] GC(1) Pause Young (G1 Evacuation Pause) [3.648s][info][gc,task ] GC(1) Using 23 workers of 23 for evacuation [3.699s][info][gc,phases ] GC(1) Pre Evacuate Collection Set: 0.3ms [3.699s][info][gc,phases ] GC(1) Evacuate Collection Set: 45.6ms [3.699s][info][gc,phases ] GC(1) Post Evacuate Collection Set: 3.4ms [3.699s][info][gc,phases ] GC(1) Other: 1.7ms [3.699s][info][gc,heap ] GC(1) Eden regions: 9->0(10) [3.699s][info][gc,heap ] GC(1) Survivor regions: 3->2(2) [3.699s][info][gc,heap ] GC(1) Old regions: 2->5 [3.700s][info][gc,heap ] GC(1) Humongous regions: 1->1 [3.700s][info][gc,metaspace ] GC(1) Metaspace: 4726K->4726K(1056768K) [3.700s][info][gc ] GC(1) Pause Young (G1 Evacuation Pause) 14M->7M(256M) 51.872ms [3.700s][info][gc,cpu ] GC(1) User=0.56s Sys=0.46s Real=0.05s […] -Xlog:gc*
  23. 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 25 bash-3.2$ java -Xlog:gc*,gc+phases=debug GCTest [0.115s][info][gc,heap] Heap region size: 1M [0.227s][info][gc ] Using G1 [0.227s][info][gc,heap,coops] Heap address: 0xfffffffe50400000, size: 4064 MB, Compressed Oops mode: Non-zero based: 0xfffffffe50000000, Oop shift amount: 3 [2.448s][info][gc,start ] GC(0) Pause Young (G1 Evacuation Pause) [2.448s][info][gc,task ] GC(0) Using 23 workers of 23 for evacuation [2.796s][info][gc,phases ] GC(0) Pre Evacuate Collection Set: 0.2ms [2.797s][debug][gc,phases ] GC(0) Choose Collection Set: 0.0ms [2.797s][debug][gc,phases ] GC(0) Humongous Register: 0.1ms [2.797s][info ][gc,phases ] GC(0) Evacuate Collection Set: 341.6ms [2.797s][debug][gc,phases ] GC(0) Ext Root Scanning (ms): Min: 0.0, Avg: 9.2, Max: 205.8, Diff: 205.8, Sum: 212.0, Workers: 23 [2.797s][debug][gc,phases ] GC(0) Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1, Workers: 23 [2.797s][debug][gc,phases ] GC(0) Processed Buffers: Min: 0, Avg: 0.0, Max: 0, Diff: 0, Sum: 0, Workers: 23 [2.797s][debug][gc,phases ] GC(0) Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.2, Workers: 23 [2.797s][debug][gc,phases ] GC(0) Code Root Scanning (ms): Min: 0.0, Avg: 0.8, Max: 4.6, Diff: 4.6, Sum: 17.7, Workers: 23 [2.797s][debug][gc,phases ] GC(0) Object Copy (ms): Min: 135.2, Avg: 330.2, Max: 340.7, Diff: 205.6, Sum: 7594.1, Workers: 23 [2.797s][debug][gc,phases ] GC(0) Termination (ms): Min: 0.0, Avg: 0.8, Max: 1.6, Diff: 1.5, Sum: 18.7, Workers: 23 [2.798s][debug][gc,phases ] GC(0) Termination Attempts: Min: 1, Avg: 4.0, Max: 8, Diff: 7, Sum: 91, Workers: 23 [2.798s][debug][gc,phases ] GC(0) GC Worker Other (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.1, Sum: 1.2, Workers: 23 [2.798s][debug][gc,phases ] GC(0) GC Worker Total (ms): Min: 340.6, Avg: 341.0, Max: 341.5, Diff: 0.8, Sum: 7844.1, Workers: 23 [2.798s][info ][gc,phases ] GC(0) Post Evacuate Collection Set: 4.7ms [2.798s][debug][gc,phases ] GC(0) Code Roots Fixup: 0.0ms [2.798s][debug][gc,phases ] GC(0) Preserve CM Refs: 0.0ms [2.798s][debug][gc,phases ] GC(0) Reference Processing: 3.1ms [2.798s][debug][gc,phases ] GC(0) Clear Card Table: 0.1ms [2.798s][debug][gc,phases ] GC(0) Reference Enqueuing: 0.1ms [2.798s][debug][gc,phases ] GC(0) Merge Per-Thread State: 0.2ms [2.798s][debug][gc,phases ] GC(0) Code Roots Purge: 0.1ms [2.798s][debug][gc,phases ] GC(0) Redirty Cards: 0.3ms [2.798s][debug][gc,phases ] GC(0) Free Collection Set: 0.6ms [2.798s][debug][gc,phases ] GC(0) Humongous Reclaim: 0.1ms [2.799s][debug][gc,phases ] GC(0) Expand Heap After Collection: 0.0ms [2.799s][info ][gc,phases ] GC(0) Other: 1.9ms [2.799s][info ][gc,heap ] GC(0) Eden regions: 24->0(9) [2.799s][info ][gc,heap ] GC(0) Survivor regions: 0->3(3) [2.799s][info ][gc,heap ] GC(0) Old regions: 0->2 [2.799s][info ][gc,heap ] GC(0) Humongous regions: 2->1 [2.799s][info ][gc,metaspace ] GC(0) Metaspace: 4719K->4719K(1056768K) [2.799s][info ][gc ] GC(0) Pause Young (G1 Evacuation Pause) 26M->5M(256M) 350.839ms [2.799s][info ][gc,cpu ] GC(0) User=0.61s Sys=5.00s Real=0.35s […]
  24. 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 26 {Heap before GC invocations=0 (full 0): garbage-first heap total 262144K, used 24576K [0xfffffffe60400000, 0xfffffffe60500800, 0xffffffff5e400000) region size 1024K, 24 young (24576K), 0 survivors (0K) Metaspace used 2835K, capacity 4596K, committed 4864K, reserved 1056768K class space used 301K, capacity 424K, committed 512K, reserved 1048576K Heap after GC invocations=1 (full 0): garbage-first heap total 262144K, used 4525K [0xfffffffe60400000, 0xfffffffe60500800, 0xffffffff5e400000) region size 1024K, 3 young (3072K), 3 survivors (3072K) Metaspace used 2835K, capacity 4596K, committed 4864K, reserved 1056768K class space used 301K, capacity 424K, committed 512K, reserved 1048576K } {Heap before GC invocations=1 (full 0): garbage-first heap total 262144K, used 19885K [0xfffffffe60400000, 0xfffffffe60500800, 0xffffffff5e400000) region size 1024K, 18 young (18432K), 3 survivors (3072K) Metaspace used 2843K, capacity 4596K, committed 4864K, reserved 1056768K class space used 301K, capacity 424K, committed 512K, reserved 1048576K Heap after GC invocations=2 (full 0): garbage-first heap total 262144K, used 9072K [0xfffffffe60400000, 0xfffffffe60500800, 0xffffffff5e400000) region size 1024K, 3 young (3072K), 3 survivors (3072K) Metaspace used 2843K, capacity 4596K, committed 4864K, reserved 1056768K class space used 301K, capacity 424K, committed 512K, reserved 1048576K } -XX:+PrintHeapAtGC
  25. 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 27 bash-3.2$ java -Xlog:gc+heap=debug GCTest [0.113s][info][gc,heap] Heap region size: 1M [0.113s][debug][gc,heap] Minimum heap 8388608 Initial heap 268435456 Maximum heap 4261412864 [2.529s][debug][gc,heap] GC(0) Heap before GC invocations=0 (full 0): [2.529s][debug][gc,heap] GC(0) garbage-first heap total 262144K, used 26624K [0xfffffffe50400000, 0xfffffffe50500800, 0xffffffff4e400000) [2.529s][debug][gc,heap] GC(0) region size 1024K, 24 young (24576K), 0 survivors (0K) [2.530s][debug][gc,heap] GC(0) Metaspace used 4719K, capacity 4844K, committed 5120K, reserved 1056768K [2.530s][debug][gc,heap] GC(0) class space used 413K, capacity 464K, committed 512K, reserved 1048576K [2.892s][info ][gc,heap] GC(0) Eden regions: 24->0(9) [2.892s][info ][gc,heap] GC(0) Survivor regions: 0->3(3) [2.892s][info ][gc,heap] GC(0) Old regions: 0->2 [2.892s][info ][gc,heap] GC(0) Humongous regions: 2->1 [2.893s][debug][gc,heap] GC(0) Heap after GC invocations=1 (full 0): [2.893s][debug][gc,heap] GC(0) garbage-first heap total 262144K, used 5850K [0xfffffffe50400000, 0xfffffffe50500800, 0xffffffff4e400000) [2.893s][debug][gc,heap] GC(0) region size 1024K, 3 young (3072K), 3 survivors (3072K) [2.893s][debug][gc,heap] GC(0) Metaspace used 4719K, capacity 4844K, committed 5120K, reserved 1056768K [2.893s][debug][gc,heap] GC(0) class space used 413K, capacity 464K, committed 512K, reserved 1048576K [3.107s][debug][gc,heap] GC(1) Heap before GC invocations=1 (full 0): [3.107s][debug][gc,heap] GC(1) garbage-first heap total 262144K, used 15066K [0xfffffffe50400000, 0xfffffffe50500800, 0xffffffff4e400000) [3.108s][debug][gc,heap] GC(1) region size 1024K, 12 young (12288K), 3 survivors (3072K) [3.108s][debug][gc,heap] GC(1) Metaspace used 4726K, capacity 4844K, committed 5120K, reserved 1056768K [3.108s][debug][gc,heap] GC(1) class space used 413K, capacity 464K, committed 512K, reserved 1048576K [3.158s][info ][gc,heap] GC(1) Eden regions: 9->0(10) [3.158s][info ][gc,heap] GC(1) Survivor regions: 3->2(2) […] -Xlog:gc+heap=debug
  26. 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 28 bash-3.2$ java -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+UseG1GC GCTest Application time: 0.6692265 seconds Total time for which application threads were stopped: 0.0006422 seconds, Stopping threads took: 0.0003064 seconds Application time: 0.6252223 seconds Total time for which application threads were stopped: 0.0847633 seconds, Stopping threads took: 0.0002372 seconds Application time: 0.3719981 seconds Total time for which application threads were stopped: 0.0607710 seconds, Stopping threads took: 0.0002263 seconds Application time: 0.6516762 seconds Total time for which application threads were stopped: 0.0802199 seconds, Stopping threads took: 0.0004294 seconds Application time: 0.7976582 seconds Total time for which application threads were stopped: 0.0741299 seconds, Stopping threads took: 0.0002259 seconds Application time: 0.6417216 seconds Total time for which application threads were stopped: 0.0006499 seconds, Stopping threads took: 0.0002845 seconds Application time: 0.1142872 seconds Total time for which application threads were stopped: 0.0851334 seconds, Stopping threads took: 0.0002213 seconds Application time: 0.2681632 seconds Total time for which application threads were stopped: 0.0004676 seconds, Stopping threads took: 0.0002502 seconds Application time: 0.0046448 seconds Total time for which application threads were stopped: 0.0003611 seconds, Stopping threads took: 0.0001791 seconds […] -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime
  27. 27. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 29 bash-3.2$ java -Xlog:safepoint GCTest [1.376s][info][safepoint] Application time: 0.3091519 seconds [1.377s][info][safepoint] Total time for which application threads were stopped: 0.0004600 seconds, Stopping threads took: 0.0002648 seconds [2.386s][info][safepoint] Application time: 1.0091637 seconds [2.387s][info][safepoint] Total time for which application threads were stopped: 0.0005217 seconds, Stopping threads took: 0.0002297 seconds [2.430s][info][safepoint] Application time: 0.0423349 seconds [2.784s][info][safepoint] Total time for which application threads were stopped: 0.3548135 seconds, Stopping threads took: 0.0002130 seconds [2.992s][info][safepoint] Application time: 0.2072894 seconds [3.040s][info][safepoint] Total time for which application threads were stopped: 0.0475234 seconds, Stopping threads took: 0.0002285 seconds [3.294s][info][safepoint] Application time: 0.2541180 seconds [3.333s][info][safepoint] Total time for which application threads were stopped: 0.0388724 seconds, Stopping threads took: 0.0002681 seconds [3.617s][info][safepoint] Application time: 0.2836815 seconds [3.661s][info][safepoint] Total time for which application threads were stopped: 0.0440203 seconds, Stopping threads took: 0.0002210 seconds [3.957s][info][safepoint] Application time: 0.2964698 seconds [4.089s][info][safepoint] Total time for which application threads were stopped: 0.1313429 seconds, Stopping threads took: 0.0002244 seconds [4.717s][info][safepoint] Application time: 0.6276530 seconds [4.827s][info][safepoint] Total time for which application threads were stopped: 0.1104660 seconds, Stopping threads took: 0.0002243 seconds […] -Xlog:safepoint
  28. 28. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 30 bash-3.2$ java -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC GCTest 0.323: [G1Ergonomics (Heap Sizing) expand the heap, requested expansion amount: 268435456 bytes, attempted expansion amount: 268435456 bytes] 2.544: [G1Ergonomics (CSet Construction) start choosing CSet, _pending_cards: 0, predicted base time: 10.00 ms, remaining time: 190.00 ms, target pause time: 200.00 ms] 2.544: [G1Ergonomics (CSet Construction) add young regions to CSet, eden: 24 regions, survivors: 0 regions, predicted young region time: 367.19 ms] 2.545: [G1Ergonomics (CSet Construction) finish choosing CSet, eden: 24 regions, survivors: 0 regions, old: 0 regions, predicted pause time: 377.19 ms, target pause time: 200.00 ms] 3.013: [G1Ergonomics (CSet Construction) start choosing CSet, _pending_cards: 6159, predicted base time: 33.53 ms, remaining time: 166.47 ms, target pause time: 200.00 ms] 3.013: [G1Ergonomics (CSet Construction) add young regions to CSet, eden: 16 regions, survivors: 3 regions, predicted young region time: 189.82 ms] 3.013: [G1Ergonomics (CSet Construction) finish choosing CSet, eden: 16 regions, survivors: 3 regions, old: 0 regions, predicted pause time: 223.35 ms, target pause time: 200.00 ms] 3.723: [G1Ergonomics (CSet Construction) start choosing CSet, _pending_cards: 6657, predicted base time: 27.44 ms, remaining time: 172.56 ms, target pause time: 200.00 ms] 3.723: [G1Ergonomics (CSet Construction) add young regions to CSet, eden: 26 regions, survivors: 3 regions, predicted young region time: 188.88 ms] 3.723: [G1Ergonomics (CSet Construction) finish choosing CSet, eden: 26 regions, survivors: 3 regions, old: 0 regions, predicted pause time: 216.32 ms, target pause time: 200.00 ms] […] -XX:+PrintAdaptiveSizePolicy
  29. 29. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 31 bash-3.2$ java -Xlog:gc+ergo*=trace GCTest [0.122s][debug][gc,ergo,refine] Initial Refinement Zones: green: 23, yellow: 69, red: 115, min yellow size: 46 [0.142s][debug][gc,ergo,heap ] Expand the heap. requested expansion amount:268435456B expansion amount:268435456B [2.475s][trace][gc,ergo,cset ] GC(0) Start choosing CSet. pending cards: 0 predicted base time: 10.00ms remaining time: 190.00ms target pause time: 200.00ms [2.476s][trace][gc,ergo,cset ] GC(0) Add young regions to CSet. eden: 24 regions, survivors: 0 regions, predicted young region time: 367.19ms, target pause time: 200.00ms [2.476s][debug][gc,ergo,cset ] GC(0) Finish choosing CSet. old: 0 regions, predicted old region time: 0.00ms, time remaining: 0.00 [2.826s][debug][gc,ergo ] GC(0) Running G1 Clear Card Table Task using 1 workers for 1 units of work for 24 regions. [2.827s][debug][gc,ergo ] GC(0) Running G1 Free Collection Set using 1 workers for collection set length 24 [2.828s][trace][gc,ergo,refine] GC(0) Updating Refinement Zones: update_rs time: 0.004ms, update_rs buffers: 0, update_rs goal time: 19.999ms [2.829s][debug][gc,ergo,refine] GC(0) Updated Refinement Zones: green: 23, yellow: 69, red: 115 [3.045s][trace][gc,ergo,cset ] GC(1) Start choosing CSet. pending cards: 5898 predicted base time: 26.69ms remaining time: 173.31ms target pause time: 200.00ms [3.045s][trace][gc,ergo,cset ] GC(1) Add young regions to CSet. eden: 9 regions, survivors: 3 regions, predicted young region time: 457.38ms, target pause time: 200.00ms [3.045s][debug][gc,ergo,cset ] GC(1) Finish choosing CSet. old: 0 regions, predicted old region time: 0.00ms, time remaining: 0.00 [3.090s][debug][gc,ergo ] GC(1) Running G1 Clear Card Table Task using 1 workers for 1 units of work for 12 regions. [3.091s][debug][gc,ergo ] GC(1) Running G1 Free Collection Set using 1 workers for collection set length 12 [3.093s][trace][gc,ergo,refine] GC(1) Updating Refinement Zones: update_rs time: 2.510ms, update_rs buffers: 25, update_rs goal time: 19.999ms [3.093s][debug][gc,ergo,refine] GC(1) Updated Refinement Zones: green: 25, yellow: 75, red: 125 […] -Xlog:gc+ergo*=trace
  30. 30. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 32 bash-3.2$ java -XX:+PrintTenuringDistribution -XX:MaxTenuringThreshold=15 -XX:+UseG1GC GCTest Desired survivor size 1048576 bytes, new threshold 15 (max 15) - age 1: 143280 bytes, 143280 total Desired survivor size 9961472 bytes, new threshold 15 (max 15) - age 1: 1679496 bytes, 1679496 total - age 2: 115912 bytes, 1795408 total Desired survivor size 8912896 bytes, new threshold 1 (max 15) - age 1: 17444896 bytes, 17444896 total - age 2: 787568 bytes, 18232464 total - age 3: 89512 bytes, 18321976 total Desired survivor size 7340032 bytes, new threshold 1 (max 15) - age 1: 17357168 bytes, 17357168 total -XX:+PrintTenuringDistribution
  31. 31. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 33 bash-3.2$ java -Xlog:gc+age=trace GCTest [2.406s][debug][gc,age] GC(0) Desired survivor size 1572864 bytes, new threshold 15 (max threshold 15) [2.745s][trace][gc,age] GC(0) Age table with threshold 15 (max threshold 15) [2.745s][trace][gc,age] GC(0) - age 1: 3100640 bytes, 3100640 total [2.964s][debug][gc,age] GC(1) Desired survivor size 1048576 bytes, new threshold 1 (max threshold 15) [3.011s][trace][gc,age] GC(1) Age table with threshold 1 (max threshold 15) [3.011s][trace][gc,age] GC(1) - age 1: 1928480 bytes, 1928480 total [3.267s][debug][gc,age] GC(2) Desired survivor size 1048576 bytes, new threshold 1 (max threshold 15) [3.304s][trace][gc,age] GC(2) Age table with threshold 1 (max threshold 15) [3.304s][trace][gc,age] GC(2) - age 1: 1985736 bytes, 1985736 total [3.600s][debug][gc,age] GC(3) Desired survivor size 1048576 bytes, new threshold 1 (max threshold 15) [3.641s][trace][gc,age] GC(3) Age table with threshold 1 (max threshold 15) [3.641s][trace][gc,age] GC(3) - age 1: 2005984 bytes, 2005984 total [3.937s][debug][gc,age] GC(4) Desired survivor size 1048576 bytes, new threshold 1 (max threshold 15) [3.981s][trace][gc,age] GC(4) Age table with threshold 1 (max threshold 15) [3.982s][trace][gc,age] GC(4) - age 1: 2076584 bytes, 2076584 total [4.700s][debug][gc,age] GC(5) Desired survivor size 2097152 bytes, new threshold 15 (max threshold 15) [4.810s][trace][gc,age] GC(5) Age table with threshold 15 (max threshold 15) [4.810s][trace][gc,age] GC(5) - age 1: 2658280 bytes, 2658280 total [4.810s][trace][gc,age] GC(5) - age 2: 1527360 bytes, 4185640 total [5.205s][debug][gc,age] GC(6) Desired survivor size 2097152 bytes, new threshold 1 (max threshold 15) […] -Xlog:gc+age=trace
  32. 32. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | -Xloggc:<file>, UseGCLogFileRotation, NumberOfGCLogFiles, GCLogFileSize • bash-3.2$ java -Xloggc:gc.old.log -XX:+UseGCLogFileRotation - XX:NumberOfGCLogFiles=3 -XX:+UseG1GC GCTest • Log files – gc.old.log.0 – gc.old.log.1 – gc.old.log.2.current 34
  33. 33. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | -Xlog:gc*:file=<file>::filecount=<count>,filesize=<filesize in kb> • bash-3.2$ java -Xlog:gc*:file=gc.new.log::filecount=3,filesize=1024 GCTest • Log Files: – gc.new.log – gc.new.log.1 – gc.new.log.0 – gc.new.log.2 35
  34. 34. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Other Useful Tags • -Xlog:gc*=trace (all of gc logging at the lowest level) • -Xlog:all=trace (all the JVM logging at the lowest level) • -Xlog:disable (disable all logging) • -Xlog:help (syntax and examples) • -Xlog:logging=trace (logging for the logging framework) 36
  35. 35. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 37 bash-3.2$ java -Xlog:logging=trace GCTest [0.604s][info][logging] Log configuration fully initialized. [0.604s][debug][logging] Available log levels: off, trace, debug, info, warning, error [0.604s][debug][logging] Available log decorators: time (t), utctime (utc), uptime (u), timemillis (tm), uptimemillis (um), timenanos (tn), uptimenanos (un), hostname (hn), pid (p) , tid (ti), level (l), tags (tg) [0.604s][debug][logging] Available log tags: add, age, alloc, aot, annotation, arguments, attach, barrier, biasedlocking, blocks, bot, breakpoint, census, class, classhisto, cleanu p, compaction, constraints, constantpool, coops, cpu, cset, data, defaultmethods, dump, ergo, exceptions, exit, fingerprint, freelist, gc, hashtables, heap, humongous, ihop, iklass , init, itables, jni, jvmti, liveness, load, loader, logging, mark, marking, methodcomparator, metadata, metaspace, mmu, modules, monitorinflation, monitormismatch, nmethod, normal ize, objecttagging, obsolete, oopmap, os, pagesize, patch, path, phases, plab, promotion, preorder, protectiondomain, ref, redefine, refine, region, remset, purge, resolve, safepoi nt, scavenge, scrub, stacktrace, stackwalk, start, startuptime, state, stats, stringdedup, stringtable, stackmap, subclass, survivor, sweep, task, thread, tlab, time, timer, update , unload, verification, verify, vmoperation, vtables, workgang, jfr, system, parser, bytecode, setting, event [0.604s][debug][logging] Described tag combinations: [0.604s][debug][logging] logging: Logging for the log framework itself [0.605s][debug][logging] Log output configuration:
  36. 36. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 38 [0.605s][debug][logging] #0: stdout os+cpu=warning,vmoperation=warning,verification=warning,ref=warning,modules+startuptime=warnin g,monitorinflation=warning,stackwalk=warning,safepoint+cleanup=warning,gc+ref+start=warning,gc +ref=warning,ergo=warning,gc+compaction=warning,os+thread=warning,safepoint=warning,pagesize=w arning,os=warning,redefine+class+oopmap=warning,redefine+class+nmethod=warning,modules+patch=w arning,redefine+class+methodcomparator=warning,startuptime=warning,gc+metaspace+freelist+block s=warning,gc+metaspace+alloc=warning,gc+metaspace=warning,gc+metaspace+freelist=warning,class+ loader+constraints=warning,vtables=warning,itables=warning,redefine+class+update+itables=warni ng,redefine+class+obsolete+metadata=warning,redefine+class+timer=warning,redefine+class+normal ize=warning,redefine+class+load=warning,redefine+class+load+exceptions=warning,redefine+class+ constantpool=warning,redefine+class+annotation=warning,redefine+class+stackmap=warning,redefin e+class+obsolete+mark=warning,redefine+class+subclass=warning,redefine+class=warning,redefine+ class+dump=warning,redefine+class+breakpoint=warning,jvmti+objecttagging=warning,jvmti=warning ,jfr+system+event=warning,jfr+system+setting=warning,jfr+system+bytecode=warning,jfr+system+pa rser=warning,jfr+system+metadata=warning,jfr+metadata=warning,jfr+event=warning,jfr+setting=wa rning,jfr=warning,jfr+system=warning,stacktrace=warning,gc+heap+exit=warning,redefine+class+ob solete=warning,class+init=warning,modules=warning,redefine+class+update+vtables=warning,redefi ne+class+iklass+purge=warning,redefine+class+iklass+add=warning,monitormismatch=warning,gc+cpu =warning,gc+task+thread=warning,gc+task+time=warning,gc+jni=warning,gc+stringdedup=warning,gc+ marking+start=warning,gc+remset=warning,gc+remset+exit=warning,gc+verify+start=warning,gc+ihop =warning,gc+phases+task=warning,gc+stats=warning,gc+ergo+cset=warning,gc+stringtable=warning,g c+heap+region=warning,gc+task+stats=warning,gc+humongous=warning,gc+region=warning,protectiond omain=warning,gc+ergo+ihop=warning,gc+scavenge=warning,gc+mmu=warning,defaultmethods=warning,g c+ergo+heap=warning,redefine+class+update=warning […]
  37. 37. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 39 bash-3.2$ jcmd 29688 VM.log 29688: Syntax : VM.log [options] Options: (options must be specified using the <key> or <key>=<value> syntax) output : [optional] The name or index (#<index>) of output to configure. (STRING, no default value) output_options : [optional] Options for the output. (STRING, no default value) what : [optional] Configures what tags to log. (STRING, no default value) decorators : [optional] Configures which decorators to use. Use 'none' or an empty value to remove all. (STRING, no default value) disable : [optional] Turns off all logging and clears the log configuration. (BOOLEAN, no default value) list : [optional] Lists current log configuration. (BOOLEAN, no default value) rotate : [optional] Rotates all logs. (BOOLEAN, no default value) bash-3.2$ jcmd 29688 VM.log what=gc* 4460: Command executed successfully Runtime Configuration of -Xlog
  38. 38. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 40 Old GC logging option Equivalent –Xlog:gc configuration G1PrintHeapRegions -Xlog:gc+region=trace G1PrintRegionLivenessInfo -Xlog:gc+liveness=trace G1SummarizeConcMark -Xlog:gc+marking=trace G1SummarizeRSetStats -Xlog:gc+remset*=trace GCLogFileSize, NumberOfGCLogFiles, UseGCLogFileRotation -Xlog:gc*:file=<file>::filecount=<count>,filesize=<filesize in kb> PrintAdaptiveSizePolicy -Xlog:gc+ergo*=trace PrintClassHistogramAfterFullGC -Xlog:classhisto*=trace PrintClassHistogramBeforeFullGC -Xlog:classhisto*=trace PrintGCApplicationConcurrentTime -Xlog:safepoint PrintGCApplicationStoppedTime -Xlog:safepoint PrintGCCause Always logged PrintGCDateStamps ‘time’ decorator PrintGCID Always logged
  39. 39. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 41 Old GC logging option Equivalent –Xlog:gc configuration PrintGCTaskTimeStamps -Xlog:gc+task=trace PrintGCTimeStamps ‘uptime’ decorator PrintHeapAtGC -Xlog:gc+heap=debug PrintHeapAtGCExtended -Xlog:gc+heap=trace PrintJNIGCStalls -Xlog:gc+jni=debug PrintOldPLAB -Xlog:gc+plab=trace PrintParallelOldGCPhaseTimes -Xlog:gc+phases=trace PrintPLAB -Xlog:gc+plab=trace PrintPromotionFailure -Xlog:gc+promotion=debug PrintReferenceGC -Xlog:gc+ref=debug PrintStringDeduplicationStatistics -Xlog:gc+stringdedup PrintTaskqueue -Xlog:gc+task+stats=trace PrintTenuringDistribution -Xlog:gc+age=trace
  40. 40. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 42 Old GC logging option Equivalent –Xlog:gc configuration PrintTerminationStats -Xlog:gc+task+stats=debug PrintTLAB -Xlog:gc+tlab=trace TraceAdaptiveGCBoundary -Xlog:heap+ergo=debug TraceDynamicGCThreads -Xlog:gc+task=trace TraceMetadataHumongousAllocation -Xlog:gc+metaspace+alloc=debug G1TraceConcRefinement -Xlog:gc+refine=debug G1TraceEagerReclaimHumongousObjects -Xlog:gc+humongous=debug G1TraceStringSymbolTableScrubbing -Xlog:gc+stringtable=trace
  41. 41. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 43

×