java oom 问题排查

引起内存溢出的常见原因大致有以下几种:

1.内存中加载的数据量过大,一次从数据库取出过多数据导致内存溢出;

2.集合类中有对对象的引用,使用完后没有及时清空,使得 JVM 不能回收;

3.代码中存在死循环或循环产生过多重复的实体对象;

4. 启动参数的内存值设定过小导致内存不够用;

遇到问题头大,怎么可能是我的问题,测试环境没有问题!你是不是常常这样说,

但是生产有问题还得看啊,大家等着你解决呢。

一筹莫展:

1、打印详细的log日志,以便后续检索logserver 查找问题

2、jvm 配置 oom异常,输出文件java__heapDump.hprof

-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/tomcat/logs

3、根据步骤2的文件利用分析工具JProfiler,分析原因

java oom 问题排查_第1张图片

你可能感兴趣的:(Expection,java,jvm)