Eclipse Memory Analyzer中文教程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MemoryAnalyzer 使用文档 Memory Analyzer Tools 使用说明 zhyea robin 1 致一思维翻译整理 MemoryAnalyzer 使用文档 简介 Eclipse Memory Analyzer 是一个功能丰富且轻量的Java 堆内存分析工具,可以用来辅助发现内存泄漏减 少内存占用。 使用 Memory Analyzer 来分析生产环境的Java 堆转储文件,可以从数以百万计的对象中快速计算出对 象的Retained Size ,查看是谁在阻止垃圾回收,并自动生成一个Leak Suspect (内存泄露可疑点)报表。 Memory Analyzer 有两种使用方式:一种是下载独立版本的 MAT,一种是使用嵌入到 Eclipse 中的MAT 插件。我这里是用的eclipse 插件。如果平时用的是其他IDE,可以尝试使用独立版MAT。 概念 1.Heap Dump Heap Dump 是一个Java 进程在某个时间点上的内存快照。Heap Dump 是有着多种格式的。不过总体上 Heap Dump 在触发快照的时候都保存了java 对象和类的信息。通常在写Heap Dump 文件前会触发一次FullGC, 所以Heap Dump 文件中保存的是FullGC 后留下的对象信息。 Memory Analyzer 可以用来处理HPROF 二进制Heap Dump 文件、IBM 系统dump 文件(经过处理后)、 以及来自各个平台上的IBM portable Heap Dumps (PHD)文件。 一般在 Heap Dump 文件中可以获取到 (这仍然取决于Heap Dump 文件的类型)如下信息:  对象信息:类、成员变量、直接量以及引用值;  类信息:类加载器、名称、超类、静态成员;  Garbage Collections Roots:JVM 可达的对象;  线程栈以及本地变量:获取快照时的线程栈信息,以及局部变量的详细信息。 Heap Dump 文件中并不包含内存分配信息,所以通常无法通过Heap Dump 文件解决是谁以及在哪里创 建了哪些对象这样的问题。 2 致一思维翻译整理 MemoryAnalyzer 使用文档 2.Shallow or Retained Heap Shallow Heap 表示一个对象消费的内存的总量。对象的每个引用变量会占用32 或64bit (取决于操作系 统),每个Integer 需要占用4byte ,每个Long 需要占用8byte ,诸如此类的其他信息可以自行查询。Shallow heap 的值可能是经过了调整的 (比如对齐到8,具体取决于Heap Dump 文件的格式),以便更好地模拟虚拟 机的真实消费情况。 对象X 的Retained Set 指的是一旦X 被垃圾回收后也会随之被GC 回收掉的对象的集合。 对象X 的retained heap 指的是X 的retained set 中所有对象的shallow heap 之和,或者说是因为对象X 而保持alive 的内存的大小。 通常来说,shallow heap 就是对象自身在堆内存中的大小,而同一个对象的retained heap 指的是该对象 被垃圾回收后释放的堆内存的大小。 一组leading 对象的retained set (如一个特定类的全部对象、一个特定类加载器加载的所有类的全部对 象、又或者一串任意的对象)在leading 对象集合中的对象全部不可达时被释放掉。Leading 对象集的retained set 包括这些对象本身和其他的只能通过这些对象访问到的对象。而leading 对象集合的retained size 指的就 是retained set 中的全部对象的堆内存之和。如下图: Minimum Retained Size 提供了一种很好的估算retained size 的方案。这种方案的计算速度远比获取精确 的retained size 快得多。因为这种计算方式只依赖于要查看的集合中的对象的数量,而非Heap Dump 中对 象的数量。 3 致一思维翻译整理 MemoryAnalyzer 使用文档 3.Dominator Tree Memory Analyzer 提供了

文档评论(0)

nuvem + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档