Java  堆栈信息分析hprof 文件(分析及查询OOM)

本文介绍了如何使用Java 1.7自带的jhat工具分析hprof文件以查找和解决OOM问题。通过调整jhat命令的内存参数,分析大型堆文件,然后通过访问本地的7000端口查看分析结果,找出占用内存最多的类和对象,以此作为排查和优化代码的方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java  堆栈信息分析hprof 文件(分析及查询OOM)

堆栈信息分析都很多工具

简单介绍使用Java 1.7自带的工具进行分析 堆栈信息文件(hprof)

1、在命令窗口进行JAVA安装目录下,再进入bin;(最好是以管理员身份运行)

     如:C:\Java\Jdk1.7.0_80\bin

2、使用 jhat 命令进行分析

      如: jhat    -J-mx5120M d:\123\java_pid25511.hprof

       如果抓取堆文件过大,执行时,本身会出现OOM,即可命令调整扩大参数  -mx7168M ,逐步扩大;

3、分析成功后,即可使用浏览器访问,查看分析结果

http://localhost:7000

4、查看当前堆文件信息的各类历史信息统计数

一般查看前3个  class B   class  C   class D  中,含有对象、实例等目前的次数,次数越多代表占用内容越大,所以很大程度就是OOM的罪魁祸首

找到属于你代码中使用的类、实例、方法或者对象等,修改代码释放对象或者实例。

排查原则是:排在前10位,项目中特有的类、实例、方法或者对象;

原因是这些在Java中没有被自动回收或释放,长时间占用内存,并积压,到达一定程度就会报OOM。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值