精华内容
下载资源
问答
  • Heap Analyzer

    2020-11-12 09:04:55
    HeapAnalyzer通过分析heapdump文件,以了解哪些对象占用了太多的堆栈空间,来发现导致内存泄露或者可能引起内存泄露的对象。启动后使用open file菜单,浏览打开我们需要进行内存堆栈分析的heapdump文件
  • heapanalyzer

    2011-12-23 10:22:02
    看看 看看 What is HeapAnalyzer?...HeapAnalyzer allows the finding of a possible Java™ heap leak area through its heuristic search engine and analysis of the Java heap dump in Java ap

    看看 看看

    What is HeapAnalyzer?

    HeapAnalyzer allows the finding of a possible Java™ heap leak area through its heuristic search engine and analysis of the Java heap dump in Java applications.

    Java heap areas define objects, arrays, and classes. When the Garbage Collector allocates areas of storage in the heap, an object continues to be live while a reference to it exists somewhere in the active state of the JVM; therefore the object is reachable. When an object ceases to be referenced from the active state, it becomes garbage and can be reclaimed for reuse. When this reclamation occurs, the Garbage Collector must process a possible finalizer and also ensure that any internal JVM resources that are associated with the object are returned to the pool of such resources. Java heap dumps are snap shots of Java heaps at specific times.

    How does it work?

    HeapAnalyzer analyzes Java heap dumps by parsing the Java heap dump, creating directional graphs, transforming them into directional trees, and executing the heuristic search engine.

    The following are examples of features:

    For more information, please check out this Webcast replay:

    or these articles by Jinwoo Hwang in the Java Developer's Journal:

    Platform requirements

    Operating system: Java™ 2 Platform, Standard Edition

    Hardware: Memory larger than the size of Java heaps

    Software: Java Run-time Environment 6 or above

    Installation instructions

    1. Unzip haNNN.zip (where NNN is the version number).
    2. Unzip readmeNNN.zip and read the readme file.
    3. Run haNNN.jar with Java Runtime Environment.

    展开全文
  • IBM HeapAnalyzer

    2019-02-15 16:45:24
    IBM HeapAnalyzer dump文件分析工具, dump文件分析工具,
  • heapAnalyzer

    2008-09-20 16:04:00
    好用的内存监控工具。。。。。。。。。。。。。。。
  • HeapAnalyzer

    2014-07-21 19:20:00
    https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=4544bafe-c7a2-455f-9d43-eb866ea60091&open&S_TACT=105AGX59&S_CMP=GRsite-jw22 ...

    https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=4544bafe-c7a2-455f-9d43-eb866ea60091&open&S_TACT=105AGX59&S_CMP=GRsite-jw22

     

    http://blog.csdn.net/lifuxiangcaohui/article/details/24364853

     

    http://www.lambdaprobe.org/

    转载于:https://www.cnblogs.com/diyunpeng/p/3859034.html

    展开全文
  • IBM的HeapAnalyzer.zip

    2020-06-07 15:52:42
    IBM的HeapAnalyzer.zip
  • heapdump分析工具HeapAnalyzer

    热门讨论 2014-02-10 10:38:56
    heapdump分析工具------HeapAnalyzer: 2014年1月最新发布 用法: 在命令行执行 java -Xmx500m -jar ha453.jar
  • heapanalyzer分析内存

    2020-03-07 10:11:43
    heapAnalyzer使用教程 heapAnalyzer是ibm的一个内存分析工具,当服务器内存负载出现问题时可以生成堆的dump文件,然后通过heapanalyzer可以堆dump文件进行分析,分析内存泄漏对象,或者那些对象占用大量内存。 jmap...

    heapAnalyzer使用教程
    heapAnalyzer是ibm的一个内存分析工具,当服务器内存负载出现问题时可以生成堆的dump文件,然后通过heapanalyzer可以堆dump文件进行分析,分析内存泄漏对象,或者那些对象占用大量内存。
    jmap命令:例如jvm进程号为3331

    • jmap -heap 3331:查看java 堆(heap)使用情况

    • jmap -histo 3331:查看堆内存(histogram)中的对象数量及大小

    • jmap -histo:live 3331:JVM会先触发gc,然后再统计信息

    • jmap -dump:format=b,file=heapDump 3331:将内存使用的详细情况输出到文件

    展开全文
  • IBM HeapAnalyzer简介使用

    千次阅读 2017-11-28 17:26:30
    IBM®HeapAnalyzer   创建者:Jinwoo Hwang(JinwooHwang.com)     欢迎来到IBM HeapAnalyzer。IBM HeapAnalyzer允许您使用其获得专利的启发式搜索引擎查找可能的Java™堆泄漏,并分析Java堆转储。   介绍 Heap...

    IBM®HeapAnalyzer

     

    创建者:Jinwoo Hwang(JinwooHwang.com

     

     

    欢迎来到IBM HeapAnalyzer。IBM HeapAnalyzer允许您使用其获得专利的启发式搜索引擎查找可能的Java™堆泄漏,并分析Java堆转储。

     

    介绍

    Heapdump包含堆中所有对象的列表。此工具分析Java SDK 1.3.1,1.4.x,5.0,6.0和7.0的堆转储

    IBM HeapAnalyzer“按原样”提供。

    条件

    · Java运行时环境7或更高(IBM Java运行时环境7或IBM Java系统转储分析更高)



    如果使用Java虚拟机的旧版本下面将引发异常:

    在线程异常“主” java.lang.NoClassDefFoundError:的java / UTIL /正则表达式/ PatternSyntaxException

    · 用于大型Java堆转储的64位Java运行时环境,如果需要超过4GB的内存

    定义

    · 根对象一个没有(不同)对象持有引用的对象。

    · 父对象的对象(例如,A),其保持至少一个参考一些 (不同的)对象(例如,B)。在这种情况下,A被认为是B的父亲。 

    · 所有者对象如果一个对象有多个父对象,则选择一个父对象作为所有者对象。 总大小仅用所有者对象计算。 

    · 子对象至少有一个(不同的)对象 (例如A)拥有引用的对象(例如B)。在这种情况下,B被认为是A的孩子。 

    · 键入相同对象的集合

    · 大小对象的大小是在内存中保存该对象所需的内存量。

    · 总大小一个对象的子树大小是它的大小和 从其子节点到达的所有对象大小的总和。请注意,每个 对象在处理期间都被分配了一个唯一的父代和根。 如果 家长和孩子的总体积存在显着差异,则称为总体规模下降。 

    · 泄漏大小泄漏嫌疑人的总大小。如果泄漏嫌疑人包含另一名泄漏嫌疑人,泄漏大小将被嵌套泄漏嫌疑人的总大小减去

    特征

    · 从表视图和树视图的父视图和子视图

    · 地址搜索

    · 根列表视图

    · 同类型查看

    · 配置恢复并保存

    · IBM,Solaris®和HP-UX®Java ascii /二进制Java堆转储支持

    · IBM Java系统转储支持:IBM的Java 7或更高版本需要处理的最新IBM Java系统转储文件格式

    · 外观和感觉选项

    · 自动检测截断的堆转储

    · Java Profile v1.0.1 ascii和二进制Java堆转储支持

    · Solaris hprof 1.0.1二进制Java堆转储支持

    · heapdump文件命令行支持。请参阅“如何运行此工具”部分

    · 支持IBM便携式堆转储.phd格式以及IBM堆转储.txt和.txt.gz

    · 自动检测文件格式

    · 支持控制台窗口

    · 从heapdump创建一棵树

    · 计算每个对象的大小

    · 计算每个子树的总大小

    · 查找子树中的总大小下降

    · 按大小显示对象之间的差距

    · 按大小显示对象

    · 按总大小显示对象

    · 通过孩子的数量显示对象

    · 按大小显示类型

    · 按计数/频率显示类型

    · 显示类型的字母顺序

    · 显示差距分布图

    · 显示对象的详细信息

    · 用正则表达式查找类型

    · 在输入字段,树和文本中拖放支持

    · 树形导航中的书签

    ·找到 可能的泄漏嫌疑人

    图标



    实例

    数组

    如何运行这个工具

    您需要使用Java 2 Platform Standard Edition 6或更高版本的Java运行时环境(JRE)来运行此工具。

    用法<Java路径> java -Xmx [heapsize] -jar ha <HeapAnalyzer版本> .jar <heapdump文件>

    例如,/ usr / java60 / bin / java -Xmx1000m -jar ha146.jar heapdump1234.txt

    如果在处理堆转储时存在java.lang.OutOfMemoryError,请尝试增加最大堆大小(-Xmx)值,以便JVM获得更多内存。如果你是从Windows PC运行的,这里是一个批处理(.bat)文件(由James Stroud编写),可以帮助你运行这个文件,帮助你在你的PC上选择特定版本的Java。这是为了您的PC上安装了多个版本的Java的情况下,典型情况下。请注意,您需要修改bat文件中的目录路径,作为bat文件中的注释说明。下载批处理文件

    由于性能问题,最大堆大小不应大于此工具可用物理内存大小的大小。

    1.启动HeapAnalyzer

     

    [初始画面]

     

    2.选择文件 - >打开并选择一个堆转储文件

     

     

    选择IBM堆转储文本文件,IBM便携式堆转储,Java Profile V1.0.1 ascii / binary Heap Dump或HeapAnalyzer处理文件以处理堆转储。

    3.在处理堆转储期间显示进度。

     

     

    4.如果您正在处理大型堆转储,则需要很长时间。以下是处理完成时的屏幕。请不要关闭这个窗口,直到你不需要这个heapdump。

     

     

     

    内存泄漏嫌疑人在树视图的“传票泄漏嫌疑人”菜单下编译。

     

     

    如果没有内存泄漏嫌疑,树视图默认情况下不显示。

     

     

    点击Analysis菜单并选择Tree view菜单项来显示堆树。

     

     

    5.以下是heapdump的树视图。

    图标,表示它已经被包含在树形视图中作为所有者对象的子对象

    每个树节点的格式如下所示:

    TotalSize(TotalSize / HeapSize%)[ObjectSize] NumberOfChildObject(根对象数)Name地址

     

     

     

     

    6.在树形视图中,您可以看到节点的详细信息,您可以搜索父节点和子节点之间的总大小降落

    或者您可以通过选择一个节点并单击鼠标右键来查找地址。

     

     

    “搜索总大小下降”会发现父母的总大小之间的大小下降

    和父母孩子的最大总规模。

    如果从“搜索总大小下降”菜单中找不到任何大小的下拉菜单,则需要减少

    选项中搜索的最小总大小下降。

     

     

     

    您可以通过选择菜单“查找地址”在树形视图中查找地址

     

     

    以下是地址搜索的结果:

     

     

     

    7.如果要查看关于节点的详细信息,只需单击,您将在右窗格中获得有关信息。或者您可以选择以下菜单。

     

     

    以下是heapdump树中详细节点信息的屏幕

     

     

     

    8.您可以通过选择“添加书签”来放置书签来保存位置并继续导航树。

     

     

     

    书签存储在“树状视图”菜单栏的“转到书签”菜单中。

    你可以通过点击书签去树中保存的位置

     

     

     

    通过点击“删除书签”菜单中的书签可以删除书签。

     

     

     

    9.如果树上有很多孩子,可以在树的底部看到“NNNN more children”。

    通过展开节点可以看到更多的孩子。

     

     

     

    您也可以使用父节点中的“显示更多的孩子”菜单。

     

     

    现在你可以看到更多的孩子。

     

     

     

    10.您可以使用“查找泄漏嫌疑人”菜单找到可能的泄漏区域。

     

     

    怀疑泄漏区域显示如下。

     

     

     

     

     

    图标“,”表示它不是根对象/类,并且此节点有父项。

    如果你想显示更多的父母,你可以选择菜单“显示更多的父母”

    如果你想从根对象显示,你可以选择菜单“显示从根”

     

     

     

    如果要查看所有名称相同的对象,请从菜单中选择“列出相同类型”:

     

     

    以下是查询的结果:

     

     

    通过点击鼠标右键,你可以在树形视图中找到一个特定的对象,你可以找到一个特定对象的父母或孩子。

     

     

    11.显示按总尺寸排序的对象。

     

     

     

    对象按总大小进行显示和排序。

     

     

    通过点击鼠标右键,你可以在树形视图中找到一个特定的对象,你可以找到一个特定对象的父母和孩子。

     

     

    如果您单击TotalSize的列标题,该列将按相反顺序排序。

     

     

     

    12.列出按大小排序的对象

     

    对象按大小排序,方法是单击“大小”列标题。

     

     

     

    13.列出按子项数排序的对象

     

    对象通过点击“否”子列标题按子项数进行排序。

     

     

    点击地址栏标题按地址顺序排序对象。

     

     

    单击对象列标题按字母顺序对对象进行排序。

     

     

     

    您也可以将每列移动到不同的位置。Address列在下面的屏幕中移到了TotalSize列的旁边。

     

     

    14.按大小排序的列表类型

     

     

     

    类型按大小的总和排序。

     

     

    通过单击鼠标右键,可以找到具有特定对象的相同名称的对象。

     

     

     

    15.按频率/计数排序的列表类型

     

     

     

    16.按字母顺序排列的列表类型

     

     

    选择根目录来显示根对象。

     

     

    所有的根对象显示如下:

     

     

     

    通过点击鼠标右键,你可以在树形视图中找到一个特定的对象,你可以找到一个特定对象的相同类型,父母和孩子。

     

     

     

    16.列出按大小排序的对象之间的间隔

     

     

     

    以下是按大小查看对象之间的差距

     

     

     

    17.显示差距统计。

     

     

     

    差距分布图。不要认为差距是自由空间。差距实际上是两个对象之间的差距。Java堆转储没有任何有关它们的信息。

     

     

    18.您可以通过选择查看 - >选项菜单来配置设置

     

     

     

     

     

     

    19.搜索对象/类型并按总大小进行排序。

     

     

     

    在正则表达式中输入对象/类型名称。大写/小写事项!

     

     

    以下是名称中包含“字节”的类型列表。

     

     

     

    20.搜索对象/类型并按大小排序。

     

     

     

    以下是名称中有“字节”的类型列表,按照子项的数量排序。

     

     

    通过点击鼠标右键,你可以在树形视图中找到一个特定的对象,你可以找到一个特定对象的相同类型,父母和孩子。

     

     

    通过输入确切的名称,我们可以查看有关特定类型的详细信息。

    例如,您可以输入一个类型的确切名称:byte []

     

     

     

    以下是byte []类型的列表以及有关byte []的详细信息

    列标题包含更多信息。

    TotalSize的总和是117,712字节。总和的大小是117,712字节。

    有140个字节的对象[]

     

     

    您可以通过选择搜索地址找到一个特定的地址

     

     

    输入一个对象的地址

     

     

    以下是地址搜索的结果

     

     

    通过点击鼠标右键,你可以在树形视图中找到一个特定的对象,你可以找到一个特定对象的相同类型,父母和孩子。

     

     

    22.你可以隐藏/显示状态栏。

     

     

     

    23.你可以隐藏/显示控制台。

     

     

    来自HeapAnalyzer的异常/错误

     

    · OutOfMemoryError 



    将-Xmx增加到您的环境的最大可用大小。如果您在32位Java虚拟机上达到32位地址空间限制,则建议对大型Java堆转储使用64位Java虚拟机。在大多数情况下,对于Windows®操作系统上的32位Java虚拟机上的-Xmx,大小约为1500MB。例如,您可能希望将64位Java虚拟机用于文件大小为500MB的PHD Java堆转储。

    · 线程“main”中的异常java.lang.NoClassDefFoundError:java / util / regex / PatternSyntaxException 



    HeapAnalyzer需要Java虚拟机版本5或更高版本。

    如果使用较早版本的Java虚拟机,则会引发异常:

    · java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0 

    在java.lang.String.charAt(未知源)

    在com.ibm.jinwoo.heap.FileTask $ ActualTask​​。<init>(FileTask.java:386)

    at com.ibm.jinwoo.heap.FileTask $ 1.construct(FileTask.java:794)

    at com.ibm.jinwoo.heap.SwingWorker $ 2.run(SwingWorker.java:45)

    at java.lang.Thread.run(Unknown Source )

    处理损坏的heapdump或截断的内容时,您可以看到此异常。截断或损坏的heapdump不可靠。

    · 异常在解析线9:0x0x50003070 [1000]的java /郎/字符串

    了java.lang.RuntimeException 

    在com.ibm.jinwoo.heap.FileTask $ ActualTask <初始化>(FileTask.java:321)。

    在com.ibm.jinwoo .heap.FileTask $ 1.construct(FileTask.java:794)

    at com.ibm.jinwoo.heap.SwingWorker $ 2.run(SwingWorker.java:45)

    at java.lang.Thread.run(Unknown Source)



    一些旧的IBM SDK在堆转储中生成无效的地址。用0x替换0x0x后,HeapAnalyzer可以处理堆转储。

    · 解析第10行时出现格式错误:0x50004050 0x50004050 heapdump中的



    意外格式。可能是已损坏的heapdump。进一步的分析是不可靠的。

     

    文章来源:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W3b463571efc8_4f02_99af_3cbc0da42ddc/page/IBM%20HeapAnalyzer%20Information

    展开全文
  • IBM HeapAnalyzer分析工具

    2013-03-07 11:33:44
    IBM HeapAnalyzer分析工具,版本比较稳定。
  • 请注意,此jar包为jdk1.7下编译的,1.6以下的jre无法正常运行。 用法:java -jar -Xmx3000m "%~dp0/ha456.jar" heapdump.bin ,heapdump.bin为dump文件名,可参考heapanalyzer.bat
  • ibm HeapAnalyzer java内存分析工具 官网很难打开,好不容易下载的jar包,这里分享出来 java -jar -Xmx3000m ha457.jar
  • HeapAnalyzer分析工具

    2016-05-09 10:10:00
    HeapAnalyzer分析工具  由于jvisualvm或jmap生成的dump文件太大,常常需要用到dump文件分析工具对dump文件进行分析。HeapAnalyzer通过分析heapdump文件,以了解哪些对象占用了太多的堆栈空间,来发现导致内存泄露...
  • HeapAnalyzer一般用法

    千次阅读 2019-05-23 17:28:54
    /wiki/W3b463571efc8_4f02_99af_3cbc0da42ddc/page/IBM HeapAnalyzer Information 注1:因为是全英文的,网上很多直译过来的文章让人看的莫名其妙,英语一般的,开个有道,大概浏览一下就可以...
  • 总结了点HeapAnalyzer456.jar 分析内存溢出的攻略。 新手可以看看
  • IBM HeapAnalyzer 最新版本 java内存分析工具,性能调优,内存泄露排除比不可少的工具
  • IBM HeapAnalyzer 当 JVM中对象过多, java堆( java heap)耗尽时,就会产生 java heap dump文件。 使用IBM HeapAnalyzer工具可以对内存情况进行分析,以排查故障。在测试时,可以使用-XX:+...
  • IBM heapAnalyzer分析内存泄露

    千次阅读 2016-09-01 22:57:33
    为了找到真正导致OOM的原因,这里将使用IBM heapAnalyzer工具进行定位。 首先要知道,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点。了解这个之后,我们首先...
  • IBM HeapAnalyzer是一款免费的JVM内存堆的图形分析工具,它可以有效的列举堆的内存使用状况,帮助分析Java内存泄漏的原因。 功能与MAT类似。 1.下载 ...
  • ibm heapanalyzer

    2017-11-23 16:53:02
    主要用于分析oom产生的日志;可以用于离线分析;完全脱离原有程序
  • 为了找到真正导致OOM的原因,这里将使用IBM heapAnalyzer工具进行定位。首先要知道,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点。了解这个之后,我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 708
精华内容 283
关键字:

heapanalyzer