GCViewer icon indicating copy to clipboard operation
GCViewer copied to clipboard

Parser errors for G1GC String deduplication messages in gc logs

Open IceMan81 opened this issue 9 years ago • 2 comments

The viewer is ignoring String deduplication messages and throwing UnknownGCTypeException in the Parser tab.

-XX:+UseStringDeduplication along with G1GC turns on String Dedup.

INFO [DataReaderSun1_6_0G1]: CommandLine flags: -XX:+AggressiveOpts -XX:+AggressiveUnboxing -XX:ConcGCThreads=12 -XX:+FlightRecorder -XX:FreqInlineSize=1024 -XX:InitialHeapSize=2147483648 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ManagementServer -XX:MaxBCEAEstimateSize=1024 -XX:MaxGCPauseMillis=100 -XX:MaxHeapSize=75161927680 -XX:MaxInlineLevel=22 -XX:MaxInlineSize=256 -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:ReservedCodeCacheSize=1073741824 -XX:-ResizePLAB -XX:+UnlockCommercialFeatures -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+UseStringDeduplication 
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 34: 2016-05-17T00:47:55.980-0400: 1.046: [GC concurrent-string-deduplication, 492.5K->381.4K(111.1K), avg 22.6%, 0.0019638 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 65: 2016-05-17T00:47:56.058-0400: 1.124: [GC concurrent-string-deduplication, 24.8K->22.7K(2120.0B), avg 21.9%, 0.0008329 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 96: 2016-05-17T00:47:56.149-0400: 1.216: [GC concurrent-string-deduplication, 0.0B->0.0B(0.0B), avg 21.9%, 0.0000045 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 157: 2016-05-17T00:47:57.521-0400: 2.587: [GC concurrent-string-deduplication, 148.5K->119.8K(28.7K), avg 21.3%, 0.0007789 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 238: 2016-05-17T00:48:02.852-0400: 7.918: [GC concurrent-string-deduplication, 10.1M->8481.9K(1835.8K), avg 18.0%, 0.1861676 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 389: 2016-05-17T00:48:10.407-0400: 15.481: [GC concurrent-string-deduplication, 308.9M->15.1M(293.8M), avg 92.5%, 3.9991173 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 420: 2016-05-17T00:48:11.720-0400: 16.786: [GC concurrent-string-deduplication, 95.3M->6168.7K(89.3M), avg 92.8%, 0.8381088 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 1141: 2016-05-17T00:49:14.126-0400: 79.192: [GC concurrent-string-deduplication, 2870.5M->143.0M(2727.5M), avg 94.7%, 34.5286816 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 1172: 2016-05-17T00:49:15.312-0400: 80.378: [GC concurrent-string-deduplication, 21.5K->2504.0B(19.1K), avg 94.7%, 0.0003661 secs]
WARNING [DataReaderSun1_6_0G1]: com.tagtraum.perf.gcviewer.imp.UnknownGcTypeException: Unknown gc type: 'GC concurrent-string-deduplication' Line 1203: 2016-05-17T00:49:17.761-0400: 82.827: [GC concurrent-string-deduplication, 10.6K->1160.0B(9736.0B), avg 94.7%, 0.0001772 secs]

IceMan81 avatar May 18 '16 15:05 IceMan81

Hi George,

Thank you for reporting this! Do you happen to know, what part of the heap is referenced in the memory part of these events?

chewiebug avatar May 24 '16 19:05 chewiebug

@chewiebug See http://openjdk.java.net/jeps/192 for details Specifically,

An object is considered a deduplication candidate if all of the following statements are true:

The object is an instance of String,

The object is being evacuated from a young heap region, and

The object is being evacuated to a young/survivor heap region and the object's age is equal to the deduplication age threshold, or the object is being evacuated to an old heap region and the object's age is less than the deduplication age threshold.

IceMan81 avatar May 24 '16 22:05 IceMan81