首页 文章

CMS垃圾收集器中的完整gc

提问于
浏览
0

我在java应用程序中使用cms gc . 当我在GC log中看到以下行时,我感到很困惑

  • 2017-02-21T00:55:45.882 0000:2.686:[完整GC2017-02-21T00:55:45.882 0000:2.687:[CMS:0K-> 7878K(1398144K),0.0691810秒] 111848K-> 7878K(2027264K) ,[CMS Perm:9947K-> 9942K(16384K)],0.0693460 secs] [次:用户= 0.06 sys = 0.02,real = 0.07 secs]

  • 2017-02-21T08:27:14.733 0000:27091.537:[GC [1 CMS-initial-mark:699151K(1398144K)] 716604K(2027264K),0.0117710 secs] [次:用户= 0.01 sys = 0.00,real = 0.02秒]

  • 2017-02-21T08:27:14.745 0000:27091.549:[CMS-concurrent-mark-start]

  • 2017-02-21T08:27:14.784 0000:27091.588:[CMS-concurrent-mark:0.039 / 0.039 secs] [次:用户= 0.21 sys = 0.01,real = 0.03 secs]

  • 2017-02-21T08:27:14.784 0000:27091.588:[CMS-concurrent-preclean-start]

  • 2017-02-21T08:27:14.787 0000:27091.591:[CMS-concurrent-preclean:0.003 / 0.003 secs] [次:用户= 0.01 sys = 0.00,实际= 0.01秒]

  • 2017-02-21T08:27:14.787 0000:27091.592:[CMS-concurrent-abortable-preclean-start] CMS:由于时间而中止预清洗219-21T08:27:19.863 0000:27096.668:[CMS-并发 - abortable-preclean:5.070 / 5.076 secs] [次:用户= 6.44 sys = 0.35,real = 5.07 secs]

  • 2017-02-21T08:27:19.864 0000:27096.668:[GC [YG占用率:217654 K(629120 K)] 2017-02-21T08:27:19.864 0000:27096.668:[Rescan(parallel),0.0268070 secs] 2017 -02-21T08:27:19.891 0000:27096.695:[弱参考处理,0.0005040秒] 2017-02-21T08:27:19.891 0000:27096.696:[scrub string table,0.0005510 secs] [1 CMS-remark:699151K(1398144K) )] 916806K(2027264K),0.0281100秒] [时间:用户= 0.42 sys = 0.00,实际= 0.03秒]

  • 2017-02-21T08:27:19.892 0000:27096.696:[CMS-concurrent-sweep-start]

  • 2017-02-21T08:27:21.014 0000:27097.818:[CMS-concurrent-sweep:1.121 / 1.122 secs] [次:用户= 1.48 sys = 0.08,real = 1.13 secs]

  • 2017-02-21T08:27:21.014 0000:27097.818:[CMS-concurrent-reset-start]

这里主要的gc(标记 - 备注)只做清理旧内存,没有压缩和Full gc正在做清洁和紧凑的终身内存吗?

然后,我看到一篇文章说Full gc意味着要清理年轻一代和老一代 . 但是,Log只显示旧内存和堆内存细节 .

谢谢(抱歉,如果有任何语法错误)

1 回答

  • 0

    在CMS Full GC中将所有活动对象移动到旧空间 . Full GC后,年轻空间总是空的 .

    其他GC表现不同 . 即如果活物体数量大于旧空间容量,ParallOldGC将填充年轻空间 .

相关问题