JVM调优之OOM案例汇总分析

9.6. OOM案例汇总

OOM产生的原因多种多样,例如,有些程序未必产生OOM,但是会不断FGC,或是CPU飙高但内存回收特别少。出现OOM的场景进行记录,如下所示:
【案例1】硬件升级系统反而卡顿的问题,如调优实战小节中的调优实战1。
【案例2】线程池不当运用产生OOM问题,如调优实战小节中的调优实战2。
【案例3】jira问题,详细信息见附件。该问题导致的现象是系统出现FGC很频繁,实际系统不断重启。解决方案是更换垃圾回收器G1,换用更大的内存。
【案例4】tomcat中的http问题,详细信息见附件。该问题出现的原因是网管将http-header-size参数设置的过大,导致在连接http时,http对象头就会占用大量的空间,导致空间不足。
【案例5】 lambda表达式导致方法区溢出问题。
【案例6】直接内存溢出问题,该问题很少见,例如《深入理解Java虚拟机》P59,使用Unsafe分配直接内存,或者使用NIO的问题。
【案例7】栈溢出问题,-Xss设定太小。
【案例8】比较一下这两段程序的异同,分析哪一个是更优的写法:

Object o = null;
for(int i
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值