事情缘由
协助公司中药网排查内存溢出的问题。这个系统是基于Hibernate3开发的一个药品信息、价格变动、药品咨询新闻相关的网站,90%的操作都是查询。
问题日志
工具排查
Dump堆内存文件,使用MAT进行分析
1、jsp 命令获取应用的pid
2、jmap -dump:format=b,file=/dump.hprof pid
分析后发现:
MAT中已经给出有可能出问题的代码位置。SessionFactoryImpl中的QueryPlanCache的体积特别庞大。占比达到67%。