java内存溢出分析(一)
2016-01-07 16:09
351 查看
在项目中发现内存占用过高,且一直不会释放,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这个类中有许多引用占用内存,没有释放。目前在进一步的问题定位中。
可以看到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这个类中有许多引用占用内存,没有释放。目前在进一步的问题定位中。
相关文章推荐
- Java中的日期(Calendar、Date)
- Java软件工程师等级
- Java Transaction API JAVA事务API
- Java——Java包
- Java 版本LRC校验
- 文件IO java
- Java中如何把一组对象按照其某一个属性值进行排序?
- JAVA线程锁-读写锁
- 搭建Spring环境
- java实现四则运算,难点主要在理解加减乘除优先级以及使用递归
- Java基础之知识总结
- spring自动扫描装配bean
- 多线程 java
- 1-Java继承中多态情况特性下变量,方法,静态方法的访问
- Java基础之接口、内部类、抽象类
- Spring MVC 学习笔记(三)
- 使用Gradle构建Java项目
- Java基础之封装、继承、多态、接口详解
- [转载]深入了解 Struts 1.1
- android studio应用(二):eclipse项目导入as后的编译