java heap out of memory分析

来源:互联网 发布:读单词软件 编辑:程序博客网 时间:2024/05/18 00:56

工具

1、VisualVM

2、Memory Analyzer tool(MAT)

背景

某应用 长时间运行后 崩溃,查看日志发现 heap out of memory错误,遂加大jvm的设置内存到1GB。

更长时间运行后依然崩溃,遂使用jdk自带的VisualVM查看应用内存使用情况

过程

使用VisualVM查看内存使用情况后发现,内存使用率稳步上升,直到接近1GB后不久遍崩溃。

分析内存dump后,发现String Char类型变量占用了90%以上的内存。

经过网络查询后发现VisualVM分析内存溢出的功能并不强大,改用MAT来分析dump文件

分析发现大量的String和Char实际属于为某对象。该对象数量达到 千万,亿级别。

在代码中查找此对象,并定位错误原因。

参考文章

[培训资料][DNA研发培训]JavaDump分析.pdf

使用Memory Analyzer tool(MAT)分析内存泄漏(二)

通过分析Heap Dump 来了解 Memory Leak ,Retained Heap,Shallow Heap

使用VisualVM查看Java Heap Dump


0 0
原创粉丝点击