- 浏览: 113624 次
- 性别:
- 来自: 北京
文章分类
最新评论
大家在开发J2EE应用时可能经常碰到OOM的问题。出现这种问题的原因就是内存消耗殆尽,创建新的对象时没有可分配的内存了。为了找到真正导致OOM的原因,这里将使用IBM heapAnalyzer工具进行定位。
首先要知道,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点。了解这个之后,我们首先需要生成dump文件,这里我可以编写一个小程序,如:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
//10M的PermSize在integer范围内足够产生OOM了
int i = 0;
while (true) {
list.add(new String("test")); }
}
}
运行该程序时设置JVM的堆内存的极限值为10M(-Xmx10m),并加上-XX:+HeapDumpOnOutOfMemoryError,此参数是帮助生成dump文件,程序启动后直到抛出OOM异常。异常抛出后,在程序的classpath下会生成以一个以.hprof结尾的文件,如:java_pid4504.hprof,这就是我们需要的dump文件。
发表评论
-
was 8.5环境生成heapdump文件
2016-09-26 10:03 14931、我在/etc/profile里面增加参数: expor ... -
BTrace实际案例分析(转)
2016-03-28 17:09 550BTrace实际案例分析 问题表象 问题描 ... -
BTrace试用
2016-03-28 16:35 1399说明: BTrace是Java进程诊断分析工具,优点是无 ... -
XML节点当做文本处理
2014-10-31 08:45 703XmlHelper类中封装的方法,采用JDOM实现。 ... -
采用JDK自带的类库解析XML(转)
2014-07-01 16:43 39031,需求说明假设要查询一个图书列表,寻找TEST的著作. 2 ... -
玩转 XPath 和缺省命名空间(Default Namespaces)(转)
2014-07-01 16:38 2739诸如“为什么用 XPath 的表达式进行查询,却没有返回所期 ... -
java远程通讯协议对比(转载)
2013-12-25 11:04 1365在分布式服务框架中, ... -
java SPI机制(转)
2013-12-18 08:03 765From ServiceLoader javadoc: A ... -
java编码问题汇总(转载)
2013-12-05 09:20 484工作中经常遇到java编码问题,由于缺乏研究,总是无法给出 ... -
和Lambdas的第一次亲密接触(转载)
2013-05-21 11:18 863英文原文:Java 8: The First Tas ... -
获得javacore和dump文件
2013-02-01 17:31 1451linux环境下,尝试了如下方法获得javacore文件, ... -
采用jca分析javacore文件示例
2012-06-13 10:09 9095今天帮助项目组分析websphere 7下的线程挂起问题,现象 ... -
查看java class的编译版本
2012-03-31 15:38 990使用 UE 打开 class 文件,第一行内容:0000000 ... -
关于编码的详细分析(转载)
2012-02-27 08:53 934编码无处不在。Database, ... -
集群环境下的单例任务调度基类
2012-02-23 15:37 1418最近为公司框架提供了基于ID的单例的任务调度基类,用于集群的 ... -
JDK 1.5自带的几个小工具
2012-02-23 15:24 1079提供了jps,jmap,jconsole,jstat几个比较实 ... -
关于XML对特殊字符的编码
2012-02-23 15:13 1128项目中遇到这类问题,比如“优褅股份”,采用GBK编码可以,如果 ... -
sys_uuid()导致oracle的session缓慢增长
2012-02-09 10:19 1505最近负责的数据交换平 ... -
NIO技术
2011-12-20 11:12 725复习了一下 nio 技术,发现了一个不错的专题,留个记号: ... -
常用concurrent包下的类图
2011-11-15 16:07 1708摘自:http://www.blogjava.net/xyl ...
相关推荐
IBM HeapAnalyzer是一款强大的Java虚拟机(JVM)内存分析工具,专为诊断和解决Java应用程序的内存泄漏问题而设计。这个工具能够帮助开发者深入理解Java应用程序的内存使用情况,从而优化性能并防止由于内存泄漏导致...
IBM HeapAnalyzer是一款强大的内存分析工具,主要用于分析Java应用的堆内存。当应用程序出现内存泄漏时,HeapAnalyzer可以帮助开发者定位导致内存泄漏的对象和它们的引用路径。通过分析heapdump文件(通常由JVM生成...
IBM HeapAnalyzer是一款强大的Java内存分析工具,主要用于诊断和解决Java应用程序中的内存泄漏问题。这款工具通过对Java堆内存的深入分析,帮助开发者定位那些占用过多内存的对象,从而优化应用性能。在Java开发过程...
IBM HeapAnalyzer 最新版本 java内存分析工具,性能调优,内存泄露排除比不可少的工具
使用 IBM 性能分析工具 HeapAnalyzer 解决生产环境中的性能问题 性能分析是企业级应用系统软件不可或缺的一部分,对于业务操作的响应时间和并发数的要求非常高。只有经过不断的调整优化,才能达到资源的最大利用率...
IBM Heap Analyzer是一款强大的内存分析工具,主要用于Java应用程序的性能优化,特别是针对IBM J9 JVM的内存管理和垃圾收集进行深入分析。这款工具可以帮助开发者诊断和解决内存泄漏、过度对象分配以及垃圾收集效率...
IBM HeapAnalyzer分析工具,版本比较稳定。
通过使用 IBM HeapAnalyzer,开发者可以快速地分析 Java 堆转储,检测可能的 Java 堆泄漏,并找到泄漏嫌疑人的位置。 IBM HeapAnalyzer 提供了多种功能,包括: * 查看内存溢出的占比和大小 * 明确显示代码内存...
IBM Java堆内存分析工具——HeapAnalyzer,是一款专为IBM J9 VM设计的强大内存分析工具,它可以帮助开发者深入理解Java应用程序的内存使用情况,检测并解决内存泄漏问题,从而提升应用性能。本文将详细介绍Heap...
IBM开发的强大的内存dump分析工具,,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点
HeapAnalyzer456.jar 是一个专门用于分析Java内存溢出的专业工具,它可以帮助开发者深入理解内存的分配、使用和泄漏状况。本篇文章将详细介绍如何使用HeapAnalyzer456.jar来分析Java内存溢出问题。 首先,我们需要...
IBM的HeapAnalyzer是一款强大的内存分析工具,主要用于诊断Java应用程序中的内存泄漏问题。它能帮助开发者深入理解Java虚拟机(JVM)的堆内存状态,通过分析heap dump文件,找出那些占用内存过大的对象,以及这些...
- 理解Java内存模型(堆、栈、方法区等)对使用内存分析工具至关重要。 总之,HeapAnalyzer是Java开发者处理内存溢出问题的强大助手。通过熟练掌握其使用,我们可以有效地定位并解决内存问题,提升应用的稳定性和...
- **分析内存问题**:IBM HeapAnalyzer会展示内存概述、类统计、对象生存周期、内存泄漏嫌疑对象等视图。你可以通过这些视图找出占用内存最大的类,观察对象的生命周期,寻找可能的内存泄漏源。 3. **常见分析方法...
IBM出的一款内存分析工具,可以用来分析websphere生成的内存转储phd格式文件 使用方法: java -jar -Xmx3000m ha456.jar heapdump.20141113.171336.1693.0009.phd 一般这种文件都很大,最好使用64位系统,不然会跑不...
IBM® HeapAnalyzer是一款由IBM公司开发的专业内存分析工具,它主要针对Java应用程序,用于诊断和解决内存泄露问题。HeapAnalyzer通过深入分析Java堆内存的使用情况,帮助开发者找到那些占用内存过大的对象,从而...
IBMHeapAnalyzer是一个非常重要的JAVA程序bug分析工具。它可以帮助我们分析哪些原因可能导致了程序的内存溢出...IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点。
IBM内存分析工具(IBM Memory Analyzer,简称MAT)是一款强大的、免费的诊断工具,适用于所有Java虚拟机(JVM)。它能够提供详细的内存分配和引用路径信息,帮助开发者深入理解内存消耗情况,找出可能导致内存问题...