0、样例代码:
public class HeapOOM {
public static void main(String[] args) throws InterruptedException {
List<OOMObject> oomObjects=new ArrayList<>();
while (true) {
// oomObjects.add(new OOMObject());
Thread.sleep(10);
}
}
}
public class OOMObject {
}
1、设置jvm的xms和xmx的大小,已经打印堆信息大小。-Xms10m -Xmx10m -XX:+HeapDumpOnOutOfMemoryError
2、使用 jprofile分析相关的hprof文件信息
3、相关分析信息
4、jstack 主要用于线程排查问题的,
jps -l : 打印类的信息
jps -v : 输出Java进程的PID、包名信息和完整的JVM参数
5、flink几个oom的例子
JAVA各种OOM代码样例及解决方法 - 黄青石 - 博客园
6、jvm导致cpu过高原因排查
1、cpu空转
2、一般是大集合处理或死循环导致。