值得阅读的内存泄露分析总结和Tomcat调优
最后Tomcat的JVM配置参数被我修改为下图: 这里面有几个比较重要好用的我大概说一下: -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并不是直接内存引起而是因为另一个配置导致的时候,有种柳暗花明又一村的感觉。其实真正需要做的改动只是增加了两个配置参数,删除了一个配置参数,但需要了解的东西却十分庞杂,性能调优涉及的东西太多了,这次很多东西这次只是浅浅的接触了解了一下,还需要继续努力。这次解决完问题感觉很有必要写下来,一个是担心以后忘了,还有就是顺便锻炼一下自己的总结能力。有时候你会发现,你很抗拒的事情在等你完成之后回头看也不过如此。最后,与君共勉。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |