为了更好地说明CMS回收的过程,这里贴一段实际场景中的GC日志:
- -----------------------------------------初始标记(Stop-the-world)---------------------------------------------
-
- 135140.215: [GC (CMS Initial Mark) [1CMS-initial-mark: 195002K(3375104K)]207465K(3989504K), 0.0053961 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
-
- -----------------------------------------并发标记---------------------------------------------
-
- 135140.221: [CMS-concurrent-mark-start]135140.287: [CMS-concurrent-mark:0.066/0.066 secs] [Times: user=0.50 sys=0.00, real=0.07 secs]
-
- -----------------------------------------并发预处理---------------------------------------------
-
- 135140.287: [CMS-concurrent-preclean-start]135140.295: [CMS-concurrent-preclean:0.009/0.009 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
-
- -----------------------------------------重标记(Stop-the-world)---------------------------------------------
-
- 135140.298: [GC (CMS Final Remark) [YG occupancy: 13058 K (614400 K)]//这里最前面的135140.298是JVM运行时间,单位是S。YG就是Young Gen(Eden Space),前面的数字是占用大小,括号里是总大小
-
- 135140.298: [Rescan (parallel) , 0.0071866
-
- secs]//这里要对Young Gen重新扫描
-
- 135140.305: [weak refs processing,0.1143667 secs]135140.420: [class unloading, 0.1829570secs]135140.603: [scrub symbol table, 0.0194112secs]135140.622: [scrub string table, 0.0019222secs][1 CMS-remark: 195002K(3375104K)] 208060K(3989504K), 0.4727087 secs][Times: user=0.47 sys=0.00, real=0.47 secs] //这里195002K(3375104K)表示的是Old Gen的使用情况,208060K(3989504K)是整个Heap的使用情况
-
- -----------------------------------------并发清理---------------------------------------------
-
- 135140.771: [CMS-concurrent-sweep-start]135140.845: [CMS-concurrent-sweep:0.073/0.073 secs] [Times: user=0.09 sys=0.03, real=0.07 secs]
-
- -----------------------------------------重置---------------------------------------------
-
- 135140.850: [CMS-concurrent-reset-start]135140.856: [CMS-concurrent-reset:0.006/0.006 secs] [Times: user=0.01 sys=0.02, real=0.01 secs] 。
关于CMS算法的优缺点,还有具体实现的的一些细节,这里就不做过多叙述了,有兴趣的可以自行查阅资料。
Part3.MAT分析工具和Jprofile分析工具
一顿操作猛如虎,基本了解了JVM的内存的组成和垃圾回收相关的基础信息。然后就要来分析一下WEB应用到底问题出在哪了。工欲善其事,必先利其器,然后我就下载了MAT和Jprofile。 (编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|