利用Java heap dump查找、分析问题
开发、应用中老是会遇到OutOfMemory异常,而且常常是过一段时间内存才被吃光,这里可以利用java heap dump出jvm内存镜像,然后再对其进行分析来查找问题。
《java heap dump触发和分析》这篇文章很好的介绍了heap dump的方法和分析的工具。
平常利用jmap -dump:format=b,file=/path/file.hprof <pid> 这个java自带的工具来dump heap很方便,但当内存溢出问题发生的比较快的情况下,该命令就有可能来不及或无效。
这个时候在应用启动时配置相关的参数 -XX:+HeapDumpOnOutOfMemoryError就比较方便,当然可以再加上-XX:HeapDumpPath=/path/file.hprof 来指定文件的输出路径。
不知道怎么用这些参数?就在你启动应用的时候加,如:
/usr/lib/jvm/java-1.6.0/bin/java -server -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=64m -XX:MaxPermSize=64m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/file.hprof -Djava.ext.dirs=/xxx/lib/ ClassName
在《java heap dump触发和分析》里有介绍到分析工具,个人觉得利用java自带的 $JAVA_HOME/bin/jhat -J-Xmx512m /path/file.hprof工具看分析结果不是很友好,当然这情况紧急、身边又没工具的情况下也是一个好的选择。但个别比较推荐里面介绍的IBM HeapAnalyzer(没用过)和MemoryAnalyzer,关于MemoryAnalyzer的介绍可以看下使用 Eclipse Memory Analyzer 进行堆转储文件分析里的介绍。
相关推荐
IBM最新java heapdump分析工具 java -jar ha.jar -Xmx4096m ha.jar
java heapdump_tool 内容查询工具
heapdump工具可以帮助开发者诊断Java应用的内存泄漏、过度对象创建等问题,从而优化系统性能。 首先,heapdump是一个包含Java虚拟机(JVM)堆内存快照的文件,它记录了程序运行时所有对象以及它们之间的引用关系。...
Heapdump-tool工具是专为Java开发者设计的,用于生成和分析堆转储(Heap Dump)文件的强大工具。堆转储文件记录了Java虚拟机(JVM)在某一时刻的内存状态,包括对象、类、垃圾收集器信息等,这对于诊断内存泄漏、...
Heap dump文件是Java虚拟机(JVM)在特定时间点生成的一种文件,它包含了JVM堆内存中的所有对象及其引用关系、类信息、垃圾收集信息等。当程序运行时遇到内存问题,如频繁的垃圾回收或内存溢出,生成heap dump可以...
JavaCore和HeapDump是两种重要的Java应用程序诊断工具,它们用于理解和优化Java应用程序的性能和内存使用情况。在Java运行环境中,遇到性能问题或者内存泄漏时,开发者通常会借助这类工具来定位问题。 JavaCore,也...
2. 运行heapdump.bat脚本,这个脚本通常会调用Java命令行来运行ha456.jar,例如:`java -jar ha456.jar heapdump.hprof` 3. 工具会输出内存分配的概览,包括类、对象的数量、大小等信息。 4. 通过这些信息,可以识别...
`javacore`和`heapdump`文件就是用来记录和诊断这类问题的重要工具。本篇文章将详细讲解如何使用`javacore`和`heapdump`分析工具,特别是针对Websphere环境的`ha`和`jca`工具,以及如何使用JDK1.6来打开和解析这些...
javacore 文件及 heapdump 文件分析 javacore 文件和 heapdump 文件是 Java 应用程序在遇到致命问题时产生的两个文件,这两个文件可以帮助我们分析和解决 Java 应用程序中的问题。 javacore 文件是一个文本文件,...
heapdump分析工具------HeapAnalyzer: 2014年1月最新发布 用法: 在命令行执行 java -Xmx500m -jar ha453.jar
在IT领域,尤其是在企业级应用服务器的运维与故障排查中,收集Heapdump和JavaCore是诊断Java应用程序内存泄漏、性能瓶颈以及异常行为的关键步骤。本文将深入解析在AIX系统环境下,如何通过设置特定环境变量来有效...
Java Thread Dump Analyzing
在IT领域,尤其是在Java应用程序的性能调优过程中,生成javacore和heapdump文件是非常重要的步骤。这些文件能帮助我们诊断应用程序的内存泄漏、性能瓶颈等问题。本篇将详细讲解如何利用wsadmin工具来生成这两种文件...
heapdump分析工作heapanalyzer的使用及工具 java -Xmx1000m -jar ha443.jar
"ha25.zip-分析heapdump日志"是一个专门针对Java内存溢出问题进行分析的压缩包文件,它包含了一些工具和文档,帮助开发者诊断和解决内存问题。 首先,heapdump是一个Java虚拟机(JVM)生成的文件,它记录了在特定...
1. **生成堆转储文件**:通过`-dump:format=b,file=<filename>`选项,我们可以将Java进程的堆内存信息导出为一个二进制格式的文件,通常命名为`heapdump.hprof`。这个文件包含了JVM堆中的所有对象及其引用关系,是...
IBM堆转储(heapdump)分析工具是一种专门用于解析和诊断IBM Java虚拟机(JVM)内存状况的工具。在Java应用程序运行过程中,如果遇到内存溢出或性能问题,IBM JVM会产生heapdump文件,其中包含了应用程序运行时内存...
IBM HeapDump分析工具 java应用在内存泄露时会生成heapdump文件,分析heapdump文件,成为定位哪些对象占用了太多的堆栈空间的重要手段
javacore.txt文件用jca打开,heapdump.phd文件用ha打开。 Heap dump 文件是一个二进制文件,它保存了某一时刻在 Java 堆中所有对象的状态。这个文件最重要的作用就是分析 Java 堆内存泄露问题,heap analyzer,MAT ...
Heapdump是Java虚拟机(JVM)在运行时创建的一种内存快照,包含了在特定时间点所有对象及其占用内存的情况。IBM WebSphere Heapdump Analyzer通过解析这些heapdump文件,提供深入的内存分析报告。 这个工具的核心...