jhat命令分析hprof文件
当我们拿到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文件相关推荐
- JVM jhat命令(分析dump文件)
作用:JDK提供的用来分析jmap生成的dump文件工具 由于jhat命令在JDK9.JDK10中已经被删除,官方建议用VisualVM代替 使用 会开启一个HTTP/Web服务器,端口默认7000( ...
- jhat命令分析java heapdump信息实战
前言: 很多时候,我们需要分析下当前进程的内存使用情况(OOM等异常). 一般,我们会先使用命令打印出一个heap dump文件(文件会比较大),然后使用命令或工具来分析占用内存比较大的对象. 命令的 ...
- 使用adb命令导出hprof文件
我们可以使用android studio profiler导入hprof文件分析android应用的内存问题.那么如何从手机上面导出这份文件呢? 把应用的heap 区的数据取出来保存在一个hprof文 ...
- jvisualvm分析hprof文件
jvisualvm是jdk8的bin目录下自带的一个分析工具,在我下载的jdk11下没有这个工具,这个工具我们可以用来分析hprof文件 首先我们可以配置对应的参数,配置文件地址在\jdk8\lib\ ...
- 使用MAT的命令行工具分析hprof文件
Eclipse Memory Analyzer 对于MAT这个专业的内存泄漏分析工具,大家应该都比较熟悉,用起来很方便,只需要打开Eclipse,然后把jmap或者jvm dump出来的文件拖到Ecl ...
- linux命令生成hprof文件,Android平台生成任意进程的hprof文件
一.知识介绍 1.1 为什么要抓取hprof hprof文件中记录了当前进程内存的使用情况,对于一些难以解决的OOM问题,提取出对应进程的hprof文件可以很好的分析这种问题. 分析hprof的工具 ...
- 移动学习 AndroidStudio内存优化分析—hprof文件分析
1.移动学习在主界面时按如下顺序点击: 2.其实和 android内存分析 outOfMemoryError错误定位及分析策略(非显示图片造成) 中用eclipse前7步的设置一样,只不过这个速度更快 ...
- android studio 分析 hprof,移动学习 AndroidStudio内存优化分析—hprof文件分析
1.移动学习在主界面时按如下顺序点击: 2.其实和 android内存分析 outOfMemoryError错误定位及分析策略(非显示图片造成) 中用eclipse前7步的设置一样,只不过这个速度更快 ...
- 内存溢出————举例分析dump下的hprof文件
第一步:下载分析工具 内存溢出分析工具:Eclipse Memory Analyzer 下载地址:http://www.eclipse.org/mat/downloads.php 第二步:开始分析hp ...
最新文章
- 中国矿业大学计算机英语复试,中国矿业大学2020计算机科学与技术学院考研复试科目参考书目...
- android 自动休眠时间设置在哪里,Android休眠设置时间
- insightface mxnet训练 旧版
- matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...
- CS中实现简单的注册验证窗体程序
- 如何模拟鼠标的拖拽行为.
- 内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解
- MATLAB信号与系统分析(一)——连续时间信号与系统的时域分析
- java基础概念整理(三)
- linux系统磁盘的分配空间不足,Linux系统磁盘空间不足解决办法
- 系统运维哪些事儿之正常状态
- SIF协议(一线通)
- c语言pipe函数,pipe 函数 (C语言)
- centos7安装mplayer+smplayer
- 《让你受益一生的59个好习惯》感悟
- Kiva(亚马逊)机器人介绍
- 使用晨曦记账本,个人有效记账
- 老公给同办公室的女同事发红包,正常吗?
- WQ7033开发指南(功能篇)之5.0 入耳检测之7033自带入耳触摸测试
- Python输出斐波拉契数列