如何分析jvm dump 内存日志

如何dump出jvm日志。

1. 在jvm启动的参数中,新增-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/logs/java.hprof jvm参数。这样在发生jvm 内存溢出时,就会直接dump出java.hprof 文件了。

2. 直接导出jvm内存信息。

jmap -dump:format=b,file=/home/admin/logs/heap.hprof  javapid


获得heap.hprof以后,就可以分析你的java线程里面对象占用堆内存的情况了。

推荐使用Eclipse插件Memory Analyzer Tool来打开heap.hprof文件。

Memory Analyzer Tool安装地址:http://download.eclipse.org/mat/1.3/update-site/


安装完后,把prof文件,直接拖动到eclipse中,就可以默认打开了。

要注意的是prof文件一般都比较大,所以,建议增大eclipse的heap空间,不然可能会在加载时出现oom的问题。

方法:在eclipse的eclipse.ini文件中增加-Xms -Xmx值即可。

如何分析jvm dump 内存日志_第1张图片

分别说明一下各个配置参数

1.Histogram:列举了所有加载的类实例

如何分析jvm dump 内存日志_第2张图片

按大小列出类的实例

Objects:对象数量

待续

2.Dominator Tree:列举了还未被GC的大对象

3.Top Consumers: 按对象的所占内存的空间排名

3.Leak Suspects:可疑对象分析报告.


你可能感兴趣的:(如何分析jvm dump 内存日志)