java.lang.OutOfMemoryError:GC overhead limit exceeded

来源:互联网 发布:java api接口编写实例 编辑:程序博客网 时间:2024/05/16 01:52

最近发现线上邮件发送有异常,时发送时不发送,检查系统发现有OOM这个异常,java.lang.OutOfMemoryError:GC overhead limit exceeded,于是想系统了解下OOM的相关内容:
1.GC日志分析和各个代
Allocation Failure,表示引起垃圾回收的原因。
里面第一个中括号表示新生代的垃圾回收前后变化,外层括号表示整个堆内存变化,包含新生代和老年代,通过这个可以推算出新生代有多少转移到了老年代。
这里写图片描述
这里写图片描述
GC日志中的PSYongGen(PS指Parallel Scavenge)为eden+FromSpace,而整个YoungGeneration为Eden+FromSpace+ToSpace。

2.调整参数
调大堆内存
-XX:+PrintGCDetails 启用日志

-XX:SurvivorRatio=8 设置Eden:Survivior=8

-Xmn10M 设置新生代为10M 此处的大小是(eden+ 2 survivor space)与与jmap -heap中显示的New gen是不同的

-

0 0
原创粉丝点击