邢台做移动网站价格表刷赞网站推广免费链接
目录
- 参考
- 工具
- MAT(Memory Analyzer)
- 一、产生原因
- 二、测试
- 堆溢出 java.lang.OutOfMemoryError: Java heap space
- 测试代码
- 运行
- 手动导出dump文件
- mat排查
- 打开dump文件
- 查看Leak Suspects(泄露疑点)
参考
【JVM】八、OOM异常的模拟
MAT工具分析Dump文件(大对象定位)
用arthas排查java服务内存占用过高 arthas堆外内存分析
Java内存溢出OOM之dump分析
java项目线上出现OOM问题定位看这篇文章就够了
工具
MAT(Memory Analyzer)
下载https://eclipse.dev/mat/downloads.php
注意大部分需要jdk17以上,MemoryAnalyzer-1.10.0.20200225-linux.gtk.x86_64可适配jdk1.8 ,
OutOfMemoryError 是 Java 虚拟机(JVM)抛出的一种错误,表示程序在尝试分配对象时无法获得足够的内存。这通常是由于应用程序内存泄漏、内存溢出或者程序需要的内存超过了 JVM 的限制所引起的。
一、产生原因
内存泄漏: 未被使用的对象或者引用未被正确释放,导致堆积的对象占用了大量内存。
无限循环或递归: 程序中存在无限循环或递归调用,导致堆栈空间不断增长。
内存资源耗尽: 应用程序需要的内存资源超过了 JVM 配置的最大堆大小。
原文链接:https://blog.csdn.net/TreeShu321/article/details/135255821