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、找到对应的代码,通过阅读上下文的情况,进行修复即可