加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (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应用,经常会毫无症状的宕掉,然后抓了线程栈看下,发现之前写的数据库链接池出

最后Tomcat的JVM配置参数被我修改为下图:

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

这里面有几个比较重要好用的我大概说一下:

-Xloggc:gc.log -XX:+PrintGCDetails,这个参数会设置打印GC日志,这次问题,靠GC日志分析出了很多有用的东西。

-XX:+UseConcMarkSweepGC ,选用CMS作为垃圾回收方法

-XX:+ ExplicitGCInvokesConcurrent,用这个替换了DisableExplicitGC,每次遇到system.gc时调用一次CMS回收,并不是直接Stop-the-world。

-XX:+UseCMSCompactAtFullCollection,在每次CMS收集器在完成垃圾回收之后做一次内存碎片整理。

Tomcat的线程池也是可以自己配置的,包括可接受的连接数之类的,这里我就不展开说了,码字也不轻松…

其他还有很多有兴趣的可以自行了解。

总结

这次遇到这个奇怪的问题到解决查了很多资料也收获了很多新知识,特别是发现Full GC并不是直接内存引起而是因为另一个配置导致的时候,有种柳暗花明又一村的感觉。其实真正需要做的改动只是增加了两个配置参数,删除了一个配置参数,但需要了解的东西却十分庞杂,性能调优涉及的东西太多了,这次很多东西这次只是浅浅的接触了解了一下,还需要继续努力。这次解决完问题感觉很有必要写下来,一个是担心以后忘了,还有就是顺便锻炼一下自己的总结能力。有时候你会发现,你很抗拒的事情在等你完成之后回头看也不过如此。最后,与君共勉。

(编辑:西安站长网)

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

热点阅读