服务OOM情况分析

服务OOM情况分析

服务 OOM 情况分析

OOM

简称内存溢出,正常情况下服务是部署在服务器上的,oom 表示服务占用的内存达到服务器的可用内存,如果是 k8s 的话,pod 是可配置服务最大的内存,超过则 oom

导致 OOM 情况分析

所有会导致内存增大并且溢出的可能性

OOM 场景 分析
代码本身 OOM 代码存储的内存量过大,比如,map、slice 存了很多数据,没释放
接口请求阻塞 一个请求耗时很长,导致 rpc/tcp 的链接池爆满,每个链接没释放,那内存也不会释放,多个链接就多个内存累加,直到内存 oom
慢查询 SQL 慢查询导致一个请求链接延迟不被释放,导致内存累加 oom
死锁 死锁导致一个请求链接延迟不被释放,导致内存累加 oom
SQL 返回数据量大 数据量过大,内存 oom