• jprofile查看hprof文件[转]


    用jprofile打开hprof文件,查看内存泄露情况,有几个常用的功能说明一下:
    工具下载:到官网下载jprofile7.0.1 64位的。再申请一个注册号,注册号的申请好像是一个邮件只能用一次。
    1、打开hprof文件:进入classes视图,根据(instance count和Size)基本可以确定哪个类的对象出现问题。比如(java.util.LinkedList$Entry类有2731062个实例)。
    2、根据常识,应该java.util.LinkedList类有个对象的Size应该很大。
    3、查看java.util.LinkedList,右键->use Selected Instance
    4、选择Outgoing reference 视图(可以查看对象拥有的其他对象句柄,也就是对象属性)。看Retained size列(或者size属性)(有的时候Retained size不灵光),看大小就能确定是哪个对象内存溢出了。
    5、找到对应的对象,右键->use Selected Instance
    6、选择Incoming refrences视图(该视图显示哪些对象拥有本对象的句柄),在这个视图下有个show Paths To GC Root的按钮,点击,基本能确定我们哪开代码有问题了。

  • 相关阅读:
    Python-Basis-9th
    Python-Basis-8th
    Python-Basis-7th
    Ubuntu-Basis-4th
    Ubuntu-Basis-3rd
    Ubuntu-Basis-2nd
    Ubuntu-Basis-1st
    疯狂java第五章&&第六章-面向对象
    疯狂java第四章-流程控制与数组
    疯狂java第三章-数据类型和运算符
  • 原文地址:https://www.cnblogs.com/songjinduo/p/4735593.html
Copyright © 2020-2023  润新知