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

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

发布时间:2019-03-17 19:31:12 所属栏目:业界 来源:今日头条
导读:写在最前面,运行情形:tomcat8,jdk1.8,windows server 2008内存16G,软件LoadRunner11,MAT和JProfile9.1。 题目描写:前段时刻碰着一个很稀疏的题目,开拓的WEB应用,常常会毫无症状的宕掉,然后抓了线程栈看下,发明之前写的数据库链接池呈现了阻塞的

然后为了确定我这个揣摩我又去看了启动日记,在启动日记中看到了:

值得阅读的内存泄漏说明总结和Tomcat调优

这不赤裸裸的汇报我们开启了APR的模式嘛。。。这就意味着上面按照Tomcat8默认NIO模式用到了直接内存,得出的关于我的应用陈设的Tomcat为什么占用内存一连上升的结论是不创立的!固然Tomcat确实有NIO的模式,NIO也确实会用到直接内存,分派直接内存时确实会手动挪用system.gc(),然后tomcat内里设置-XX:DisableExplicitGC确实会影响内存分派导致直接内存会萃,然则和我这并没什么相关啊。。此时内心万马奔驰,但我沉着一想当我去掉-XX:DisableExplicitGC时,GC日记内里呈现了许多Full GC的日记,那不是由于分派直接内存引起的尚有谁再挪用呢。没步伐,只能一向手动抓线程栈来说明,用下面的指令就可以把当前列程栈输出到一个txt文档中。

  1. jstack-l pid>C:UsersAdministratorDesktoplogThreadStack.txt 

这个pid就是你的java线程id。公然抓了屡次就被我抓到了现场,线程栈中公然有个线程在执行gc操纵,看下图:

值得阅读的内存泄漏说明总结和Tomcat调优

这次感受本身应该是找到了题目本质了,光看这个也看不出什么然后上网搜了下,发明也是Tomcat设置引起的,实情只有一个就是下面这个设置:

值得阅读的内存泄漏说明总结和Tomcat调优

(编辑:湖南网)

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

热点阅读