java内存溢出分析(一)

在项目中发现内存占用过高,且一直不会释放,top命令如下图显示

可以看到pid为17453的java进程占用27.1%内存,且长时间没有释放。

1.使用命令生成heap日志以供分析

sudo jmap -dump:live,format=b,file=smart.hprof 17453

2.下载smart.hprof文件到本地。

3.安装MAT(Memory Analyzer Tool)到eclipse,安装地址http://archive.eclipse.org/mat/1.0/update-site/

打开分析该日志文件

 

点击finish,可以看到如下图

我们可以发现,其指出了具体TexasRoomExtension这个类中有许多引用占用内存,没有释放。目前在进一步的问题定位中。

 

posted @ 2016-01-07 16:09  然然1907  阅读(311)  评论(0编辑  收藏  举报