欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

jvm dump 大文件分析

java water 5582℃ 0评论

heap dump方法 

-XX:+HeapDumpBeforeFullGC -XX:HeapDumpPath=./java_pid<pid>.hprof 

-XX:+HeapDumpBeforeFullGC full gc之前dump

-XX:+HeapDumpOnOutOfMemoryError 内存溢出dump

正在运行时 dump 

jmap -dump:format=b,file=HeapDump.bin <pid>

-XX:+HeapDumpAfterFullGC                   Creates heap dump file after full GC
-XX:+HeapDumpBeforeFullGC                Creates heap dump file before full GC
-XX:+HeapDumpOnOutOfMemoryError  Creates heap dump in out-of-memory condition
-XX:HeapDumpPath=<path>                 Specifies path to save heap dumps

mat 安装 

MAT支持两种安装方式,一种是“独立版本”,用户不必安装 EclipseIDE 环境,MAT 作为一个独立的 EclipseRCP 应用运行;

地址 http://www.eclipse.org/mat/downloads.php 单独下载

另一种是“插件版本”,也就是说MAT 可以作为 EclipseIDE 的一个插件,和Eclipse开发平台集成。

install new software

work with  http://download.eclipse.org/mat/1.6/update-site/ add  一直下一步

dump文件太大的情况只能 使用 独立版本,在大内存机器运行 ,修改运行内存 大小

打开文件 MemoryAnalyzer.ini

修改 

-Xmx60g

-Xms60g

运行脚本  ParseHeapDump.sh

运行命令

./ParseHeapDump.sh dump/java_dump.hprof org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components 

 dump/java_dump.hprof dump文件路径 

一下是三个不同角度 内存分析报告

org.eclipse.mat.api:suspects 内存泄露嫌疑

 org.eclipse.mat.api:overview  包括系统和内存概要

org.eclipse.mat.api:top_components  内存真有最大top组件

运行结束之后会生成几个zip 文件 ,即报告,拷贝到本地,打开index.html既可以查看分析结果

这个分析结果还是相对较少,如果不能满足只能把 dump文件和index拷贝到本地,用eclpse打开 ,因为索引已经存在,打开需要的内存大小不会无法想象

/_segments?pretty/ElasticHQ

with outgoing references 当前类引用的对象

with incoming references 引用当前类的对象

转载请注明:学时网 » jvm dump 大文件分析

喜欢 (1)or分享 (0)

您必须 登录 才能发表评论!