java堆内存泄露分析与GC日志详解

Java VM Arguments 中配置

//将内存溢出时的堆信息快照Dump到文件便于分析(分析工具Eclipse Memory Analyzer)

-XX:+HeapDumpOnOutOfMemoryError

//打印GC详细信息

-XX:+PrintGCDetails


1、内存泄露分析

//测试代码

public class T {
static class OOMObject{}
public static void main(String[] args) {
List list = new ArrayList();
while (true) {
list.add(new OOMObject());
}
}
}

使用 Eclipse Memory Analyzer 进行堆转储文件分析

2、GC信息详解

Java GC日志可以通过 +PrintGCDetails开启

以ParallelGC为例

YoungGC日志解释如下(图片源地址:这里) :

java堆内存泄露分析与GC日志详解_第1张图片


FullGC(图片源地址:这里):

java堆内存泄露分析与GC日志详解_第2张图片


原文地址

你可能感兴趣的:(201308-至今)