hprof文件分析工具_程序员必备-推荐一款强大的JVM分析工具

84b85f99333981acc9c60d242b06f55b.png

HeapHero可视化内存分析工具

HeapHero是一款简单的,易用的内存分析工具,无需登录在线生成分析报告。官网地址:

https://heaphero.io/heap-index.jsp#header

我们模拟一个内存溢出的操作,代码如下:

public class TestJvm {public static void main(String[] args) {String str="hello word";for(int i=0;i<1000000;i++){str+=str;}System.out.println(str);}}

配置虚拟机初始内存及最大内存5M,及heap dump文件输出路径。

-Xms5m -Xmx5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=E://temp.hprof
63b6fec00c3604e1fa5096c364389f5e.png

运行代码后,我们查看console输出:

....java.lang.OutOfMemoryError: Java heap spaceDumping heap to E://temp.hprof ...Heap dump file created [3985440 bytes in 0.062 secs]Exception in thread "main" java.lang.OutOfMemoryError: Java heap spaceat java.util.Arrays.copyOfRange(Arrays.java:3664)at java.lang.String.(String.java:207)at java.lang.StringBuilder.toString(StringBuilder.java:407)at com.uaf.activiti.action.TestJvm.main(TestJvm.java:14)

我们将文件上传到HeapHero进行分析(文件大的话最好压缩为zip格式):

11ac599406530cfdc61a0cbf4ef160d0.png

分析完成后我们可以看到图形页面展示:

24fcb5c32feb9d762aea7f21eb7aea6f.png

主要展示项有:堆统计,大对象,字符串重复,低效率对象,线程数,及优化建议等。

另外HeapHero很智能的给我们分析出内存溢出的原因,并进行了标注如下图:

f049d11801e14ca6ea9e9f300693de48.png

通过HeapHero可以协助我们更快的定位到异常问题,从而提高我们的开发效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值