当我们拿到hprof文件后,该如何分析呢,这时候我们可以用到jdk自带的jhat命令进行分析

jhat -J-Xmx512M *.hprof (这里的-J-Xmx参数可以不要,如果自己机器内存够大的话)

经过漫长的等待后,出现Started HTTP server on port 7000信息时,咱们就可以使用IP+port进行访问了

打开首页后,出现了是一个Arrays,这里太多了,所以我们直接忽略掉,拖到最下面,或者在页面搜索Other Queries
这里我标出来的两部分就是比较重要的两个查询指标,including platform就是会把类似于字节,字符串信息全部进行输出,而exluding platform则不会,exluding只会显示你在项目中定义过的类。

这里我们把including的截图给放出来,

我们可以看到排名第一的是字节对象,他有500多万个实例化对象,所以我们可以进而分析是不是哪个地方出现了泄露,including platform就更方便了,它直接可以指出哪些自定义对象过多,我们也可以排查是不是我们在代码中new了过多的对象。

如果通过这两个选项,我们还无法定位到哪个对象过多,导致泄露所在,那么我们就可以使用show heap histogram选项
点开后是这个样子的,我们可以通过计算total size的大小,这里的单位是字节,换算成G,看到底是哪些对象占用的内存过大,比如我这里,B对象占用了16435273443byte,换算成G,就是15.3G,jvm最大内存我设置为了16G,所以光字节对象就占了15G,那么内存溢出就肯定因为字节对象引起的了。

jhat命令分析hprof文件相关推荐

  1. JVM jhat命令(分析dump文件)

    作用:JDK提供的用来分析jmap生成的dump文件工具 由于jhat命令在JDK9.JDK10中已经被删除,官方建议用VisualVM代替 使用 会开启一个HTTP/Web服务器,端口默认7000( ...

  2. jhat命令分析java heapdump信息实战

    前言: 很多时候,我们需要分析下当前进程的内存使用情况(OOM等异常). 一般,我们会先使用命令打印出一个heap dump文件(文件会比较大),然后使用命令或工具来分析占用内存比较大的对象. 命令的 ...

  3. 使用adb命令导出hprof文件

    我们可以使用android studio profiler导入hprof文件分析android应用的内存问题.那么如何从手机上面导出这份文件呢? 把应用的heap 区的数据取出来保存在一个hprof文 ...

  4. jvisualvm分析hprof文件

    jvisualvm是jdk8的bin目录下自带的一个分析工具,在我下载的jdk11下没有这个工具,这个工具我们可以用来分析hprof文件 首先我们可以配置对应的参数,配置文件地址在\jdk8\lib\ ...

  5. 使用MAT的命令行工具分析hprof文件

    Eclipse Memory Analyzer 对于MAT这个专业的内存泄漏分析工具,大家应该都比较熟悉,用起来很方便,只需要打开Eclipse,然后把jmap或者jvm dump出来的文件拖到Ecl ...

  6. linux命令生成hprof文件,Android平台生成任意进程的hprof文件

    一.知识介绍 1.1 为什么要抓取hprof hprof文件中记录了当前进程内存的使用情况,对于一些难以解决的OOM问题,提取出对应进程的hprof文件可以很好的分析这种问题. 分析hprof的工具 ...

  7. 移动学习 AndroidStudio内存优化分析—hprof文件分析

    1.移动学习在主界面时按如下顺序点击: 2.其实和 android内存分析 outOfMemoryError错误定位及分析策略(非显示图片造成) 中用eclipse前7步的设置一样,只不过这个速度更快 ...

  8. android studio 分析 hprof,移动学习 AndroidStudio内存优化分析—hprof文件分析

    1.移动学习在主界面时按如下顺序点击: 2.其实和 android内存分析 outOfMemoryError错误定位及分析策略(非显示图片造成) 中用eclipse前7步的设置一样,只不过这个速度更快 ...

  9. 内存溢出————举例分析dump下的hprof文件

    第一步:下载分析工具 内存溢出分析工具:Eclipse Memory Analyzer 下载地址:http://www.eclipse.org/mat/downloads.php 第二步:开始分析hp ...

最新文章

  1. 中国矿业大学计算机英语复试,中国矿业大学2020计算机科学与技术学院考研复试科目参考书目...
  2. android 自动休眠时间设置在哪里,Android休眠设置时间
  3. insightface mxnet训练 旧版
  4. matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...
  5. CS中实现简单的注册验证窗体程序
  6. 如何模拟鼠标的拖拽行为.
  7. 内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解
  8. MATLAB信号与系统分析(一)——连续时间信号与系统的时域分析
  9. java基础概念整理(三)
  10. linux系统磁盘的分配空间不足,Linux系统磁盘空间不足解决办法
  11. 系统运维哪些事儿之正常状态
  12. SIF协议(一线通)
  13. c语言pipe函数,pipe 函数 (C语言)
  14. centos7安装mplayer+smplayer
  15. 《让你受益一生的59个好习惯》感悟
  16. Kiva(亚马逊)机器人介绍
  17. 使用晨曦记账本,个人有效记账
  18. 老公给同办公室的女同事发红包,正常吗?
  19. WQ7033开发指南(功能篇)之5.0 入耳检测之7033自带入耳触摸测试
  20. Python输出斐波拉契数列

热门文章

  1. FATE:工业级联邦学习开源生态建设经验分享
  2. sql数据库,截取语句(截取每列中的字段)
  3. CSS样式的格式命名,CSS命名规范:BEM
  4. C语言--分治法经典例题--循环日程安排问题
  5. 一个IDEA界面如何同时打开多个项目
  6. eclipse tomcat配置详解
  7. 任务发布领取平台系统开发
  8. 华为平板m6 鸿蒙,第一眼就爱上它:华为平板M6开箱体验
  9. ecology9.0
  10. Python 修改pip缓存目录