今天我们的城市站项目(city-web)在早上9点钟出现了多次FullGC,导致网站报警严重。如下图示
从上图可以看到,FullGC非常频繁,一分钟之内达到20多次,这种情况下几乎等于程序宕机,因为在FullGC的时候,几乎无法对外提供服务。通过监控视图也证明了这一点:
从上图可见,我们的项目是6台集群,“假死”了四台,都是因为FullGC的原因,当然“假死”一会儿后,也会随着FullGC的结束再次“活”过来。
同时,老年代对象表现的非常糟糕,GC以后,立马再涨上来。说明程序中对老年代对象的对象的控制出现了问题。
于是我们让运维dump了当时的内存city.hprof,用eclipse的Memory Analyzer Tool打开分析内存,分析结果是:
接着点击Leak Suspects链接,查询具体的内存分析报表:
<