加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

值得阅读的内存泄露分析总结和Tomcat调优

发布时间:2019-03-02 03:43:11 所属栏目:业界 来源:今日头条
导读:副标题#e# 写在最前面,运行环境:tomcat8,jdk1.8,windows server 2008内存16G,软件LoadRunner11,MAT和JProfile9.1。 问题描述:前段时间遇到一个很奇怪的问题,开发的WEB应用,经常会毫无症状的宕掉,然后抓了线程栈看下,发现之前写的数据库链接池出

为了更好地说明CMS回收的过程,这里贴一段实际场景中的GC日志:

  1. -----------------------------------------初始标记(Stop-the-world)--------------------------------------------- 
  2.  
  3. 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] 
  4.  
  5. -----------------------------------------并发标记--------------------------------------------- 
  6.  
  7. 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] 
  8.  
  9. -----------------------------------------并发预处理--------------------------------------------- 
  10.  
  11. 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] 
  12.  
  13. -----------------------------------------重标记(Stop-the-world)--------------------------------------------- 
  14.  
  15. 135140.298: [GC (CMS Final Remark) [YG occupancy: 13058 K (614400 K)]//这里最前面的135140.298是JVM运行时间,单位是S。YG就是Young Gen(Eden Space),前面的数字是占用大小,括号里是总大小 
  16.  
  17. 135140.298: [Rescan (parallel) , 0.0071866 
  18.  
  19. secs]//这里要对Young Gen重新扫描 
  20.  
  21. 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的使用情况 
  22.  
  23. -----------------------------------------并发清理--------------------------------------------- 
  24.  
  25. 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] 
  26.  
  27. -----------------------------------------重置--------------------------------------------- 
  28.  
  29. 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。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读