GC类型主要包括以下类型,其中不包含G1收集器算法
- UseSerialGC 是”Serial”+”Serial Old”
- UseParNewGC 是”ParNew”+”Serial Old”
- UseConcMarkSweepGC 是”ParNew”+”CMS”+”Serial Old”。大多数时候是使用”CMS”来收集老年代,当并发模式失败的时候使用”Serial Old”
- UseParallelGC 是”Parallel Scavenge”+”Serial Old”
- UseParallelOldGC 是”Parallel Scavenge”+”Parallel Old”
GC算法说明 多线程
- Serial”是一个单线程、stop-the-world、使用复制算法的收集器。
- “ParNew” 是一个多线程、stop-the-world、使用复制算法的收集器。和”Parallel Scavenge”不一样,它能够和”CMS”收集器一块儿使用。好比说,”ParNew”作了同步须要,以便它能在CMS的并发阶段继续运行。
- “Parallel Scavenge” 是一个多线程、stop-the-world、复制算法的收集器。
- “Serial Old”是一个单线程 、stop-the-world、使用标记-清除-压缩的收集器。
- “CMS”是一个并发、短暂停的收集器。
- “Parallel Old”是多线程、使用压缩算法的收集器。
指定GG指定日志格式并发
-XX:+UseSerialGC
[GC[DefNew: 12888K->811K(13440K), 0.0113470 secs] 37887K->26027K(43240K), 0.0114190 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
[GC[DefNew: 12779K->765K(13440K), 0.0099820 secs] 37995K->26149K(43240K), 0.0100570 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 线程
[Full GC[Tenured: 25384K->15947K(29800K), 0.2289080 secs] 29058K->15947K(43240K), [Perm : 37567K->37500K(37568K)], 0.2290770 secs] [Times: user=0.23 sys=0.00, real=0.23 secs]
日志
-XX:+UseParNewGC
[GC[ParNew: 13408K->1031K(13504K), 0.0044490 secs] 38917K->26781K(43312K), 0.0045190 secs] [Times: user=0.02 sys=0.00, real=0.00 secs]
[GC[ParNew: 13063K->804K(13504K), 0.0102060 secs] 38813K->26806K(43312K), 0.0102800 secs] [Times: user=0.03 sys=0.01, real=0.01 secs] rem
[Full GC[Tenured: 26001K->17762K(29808K), 0.2232010 secs] 27023K->17762K(43312K), [Perm : 37567K->37552K(37568K)], 0.2232910 secs] [Times: user=0.23 sys=0.00, real=0.23 secs]
同步
-XX:+UseConcMarkSweepGC
[GC[ParNew: 1702K->257K(15360K), 0.0090240 secs] 31461K->31357K(49536K), 0.0090960 secs] [Times: user=0.01 sys=0.01, real=0.01 secs]
[GC [1 CMS-initial-mark: 31099K(34176K)] 31597K(49536K), 0.0032220 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[CMS-concurrent-mark: 0.114/0.116 secs] [Times: user=0.30 sys=0.02, real=0.12 secs]
[CMS-concurrent-preclean: 0.002/0.002 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]
[CMS-concurrent-abortable-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC[YG occupancy: 5659 K (15360 K)][Rescan (parallel) , 0.0058760 secs][weak refs processing, 0.0004990 secs][scrub string table, 0.0015630 secs] [1 CMS-remark: 31099K(34176K)] 36759K(49536K), 0.0082090 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
[CMS-concurrent-sweep: 0.037/0.038 secs] [Times: user=0.13 sys=0.01, real=0.04 secs]
[CMS-concurrent-reset: 0.000/0.001 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]string
-XX:+UseParallelGC
[GC [PSYoungGen: 9184K->1024K(8192K)] 29265K->21251K(28672K), 0.0031060 secs] [Times: user=0.01 sys=0.00, real=0.00 secs] it
[Full GC [PSYoungGen: 1024K->507K(8192K)] [ParOldGen: 20227K->20436K(20480K)] 21251K->20943K(28672K) [PSPermGen: 35171K->35170K(58368K)], 0.2310650 secs] [Times: user=0.73 sys=0.00, real=0.23 secs]table
-XX:+UseParallelOldGC
[GC [PSYoungGen: 9728K->384K(8704K)] 29827K->20835K(29184K), 0.0027240 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]
[Full GC [PSYoungGen: 384K->300K(8704K)] [ParOldGen: 20451K->20183K(20480K)] 20835K->20483K(29184K) [PSPermGen: 34972K->34972K(58368K)], 0.2268760 secs] [Times: user=0.81 sys=0.00, real=0.23 secs]