MAT对jmap dump下来的hprof文件分析的时候如何看出对象在哪个堆?

MAT对jmap dump下来的hprof文件分析的时候能看出对象在年老代,新生代,元空间或者native heap吗?
能的话,如何做?

阅读 4.8k
1 个回答

貌似不行,MAT只对对象进行了粗略分类,并没有具体到哪个堆。

MAT的主要用途是分析内存泄漏,所以它针对的是无法回收的内存,这部分内存大多数应该都在年老代。不过这不是MAT所关心的问题,它主要是通过一个对象实际占用的内存大小来帮助找到可能存在内存泄漏的对象的,而不是通过对象存在的时间长短。

但是MAT提供了一些接口,允许其他人对它进行扩展,但我没有了解过,不知道这些API里面有没有提供对堆的分类。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题