线上出现oom问题如何排查?

发布时间 2023-08-18 18:50:15作者: 四十四次日落95

一.造成oom的原因?

1.一次性申请的数据太多,比如一次性获取的数据放到list过多,可以分页查询等

2.内存未释放,比如使用jdbc大量连接无法释放,线程池拒绝策略未抛出异常,使用submit等待返回结果一直被阻塞,导致对象一直无法被回收,(因为程序无法结束),可以抛出异常,或者使用池化技术解决。

3.本身资源不够

分配的堆内存不足够,jmap-head查看堆信息

二.如何定位?