📚 分类
JVM
🕵🏽‍♀️ 问题描述
java内存泄露的排查思路?
👨‍🏫 问题讲解
JVM Stacks 虚拟机栈: StackOverFlowError
Method Area/MateSpace 方法区/元空间: OutOfMemoryError: Metaspace
Heap堆: OutOfMemoryError: java heap space

使用vm参数获取dump文件,有的情况是内存溢出之后程序则会直接中断,而jmap只能打印在运行中的程序,所以建议通过参数的方式的生成dump文件
-XX: +HeapDumpOnOutOfMemoryError
-XX: HeapDumpPath=/home/app/dumps/
🏳️‍🌈 问题总结
java内存泄露的排查思路?

内存泄漏通常是指堆内存,通常是指一些大对象不被回收的情况
1、通过jmap或设置jvm参数获取堆内存快照dump
2、通过工具,VisualVM去分析dump文件,VisualVM可以加载离线的dump文件
3、通过查看堆信息的情况,可以大概定位内存溢出是哪行代码出了问题
4、找到对应的代码,通过阅读上下文的情况,进行修复即可
📖 问题信息
📈 浏览次数:15 | 📅 更新时间:2026-01-21 18:33:12
📦 创建信息
🏷️ ID:149 | 📅 创建时间:2025-02-04 19:49:22