java 内存快照怎么看_jvm内存快照dump文件太大,怎么分析
1、场景
通常,使用eclipse的mat图形化工具打开dump的时候都会内存溢出.
对于比较小的dump,eclipse可以打开,但一旦dump文件太大,eclipse就有点束手无策。
这时候怎么办呢?可以使用linux下的mat,既Memory Analyzer Tools
2、dump生成
dump可以是内存溢出时让其自动生成,或者手工直接导。配置jvm参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/biapp/m.hprof
手工直接导,PID为进程号
jmap -dump:live,format=b,file=m.hprof PID
3、准备工作,下载LINUX的MAT
在linux服务器执行命令 uname –m查看版本
下载对应的版本
下载后将包传到linux服务器上解压。
MemoryAnalyzer.ini 配置文件可以修改最大的内存,默认1G基本够用了。
4、在linux执行分析命令
执行命令
./ParseHeapDump.sh m.hprof org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components。
m.hprof就是jvm的dump文件,在mat目录下会生成3份.zip结尾的报告和一些m.相关的文件,将生成的m.hprof相关的文件都下载到windows本地磁盘。
如:
5、打开分析报告
1)使用浏览器
解压缩以.zip结尾的文件,解压后
使用浏览器打开index.html文件内容,查看分析报告
查看Class Histogram一项
发现其中一个类对象占用了7个G,这里的Heap单位都是Byte,自行换算。
Shallow Heap 既对象本身的大小
Retained Heap 对象自身加起直接或间接引用的大小
2)使用eclipse的mat工具
Eclipse需要按照mat工具,安装步骤可以百度,或者参考
如果直接打开dump文件还是会内存溢出,所以可以使用eclipse打开分析报告即可。
使用eclipse-File-Open File打开dump文件,如下:
会提示错误,点击OK忽略错误,然后选择第三项,重新打开之前的运行报告
点击Next,出现如下界面
选择其中的一份报告打开,如m_System_Overview.zip
得到相同的结果
java 内存快照怎么看_jvm内存快照dump文件太大,怎么分析相关推荐
- cad布局怎么用_CAD文件太大怎么办?只要用这三个方法,瞬间内存减少一大半
阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.如果喜欢就关注订阅吧!也不要忘记点赞哦~亲,看的开心可以点个好看 . ...
- cad布局怎么用_搞笑段子:CAD文件太大怎么办?只要用这三个方法,瞬间内存减少一大半...
阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.如果喜欢就关注订阅吧!也不要忘记点赞哦~亲,看的开心可以点个好看 . ...
- cdr文件太大怎么转成小内存 CDR文件太大打不开怎么办
使用cdr软件制作图形时,常常会将其制作成矢量图形.虽然矢量图形有着不失真.可任意放大等优点,但常会导致cdr文件过大.那么,cdr文件太大怎么转成小内存,CDR文件太大打不开怎么办?本文将会针对以上 ...
- DELPHI 内存流修改16进制文件, 文件太大时候OutofMemory的问题研究
DELPHI 内存流修改16进制文件, 文件太大时候OutofMemory的问题研究 问题描述: 需要用内存流打开一个300M大小的文件, 替换文件中固定长度的16进制编码为另一条编码 原始思路 1. ...
- cad拉伸怎么用_CAD文件太大怎么办?只要用这三个方法,瞬间内存减少一大半
不知道大家在制作CAD图纸的时候,会不会遇到这样的问题: 明明自己图纸的内容不多,但导出来的文件总是会很大,也很难打开,非常占用内存~而且在传输的时候也很不方便,今天就来跟大家聊聊如何轻松解决这个问题 ...
- java 生成dump_java dump文件怎么生成和分析-JMAP用法详解
jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...
- java堆是gc管理_JVM内存管理及GC机制
一.概述 JavaGC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和 ...
- Java内存模型 gc算法_JVM内存模型及GC回收算法
该篇博客主要对JVM内存模型以及GC回收算法以自己的理解和认识做以记录. 内存模型 GC垃圾回收 1.内存模型 从上图可以看出,JVM分为 方法区,虚拟机栈,本地方法栈,堆,计数器 5个区域.其中最为 ...
- jmap 文件解析_jvm系列:dump文件深度分析
JVM dump java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因.那么dump文件的内容是什么样的呢 ...
最新文章
- 网络名词--“环路”
- css的repaint和reflow
- 数据中心在2017年的愿望清单
- php直接修改excel,php如何修改excel
- opengl 大作业_「陪玩时光」糕妈:说说年糕的小学生活,先从陪作业和家长群聊起...
- 【下载】推荐一款免费的人脸识别SDK
- 教你用Python提取Chrome浏览器保存的密码
- 如何上传file对象
- IM的扫码登录功能如何实现?一文搞懂主流的扫码登录技术原理
- apache域名跳转
- 数字信号处理实验(一)
- 考研政治——马克思主义唯物论之物质观
- wifi动不动就断开_笔记本Wifi上网经常间歇性断网的修复
- 【坐标系统】高斯克吕格平面直角坐标系(笔记)
- 使用windows bat实现自动FTP下载
- Spring @Scheduled 使用详解
- 输入框事件监听(三):blur与change的差异
- 讲座有感——科技论文写作要素
- 全新二开PHP自适应极简多引擎搜索单页网站源码
- vue 实战培训课程-张秋方-专题视频课程