OOM
简称内存溢出,正常情况下服务是部署在服务器上的,oom表示服务占用的内存达到服务器的可用内存,如果是k8s的话,pod是可配置服务最大的内存,超过则oom
导致OOM情况分析
所有会导致内存增大并且溢出的可能性
OOM场景 | 分析 | |
---|---|---|
代码本身OOM | 代码存储的内存量过大,比如,map、slice存了很多数据,没释放 | |
接口请求阻塞 | 一个请求耗时很长,导致rpc/tcp的链接池爆满,每个链接没释放,那内存也不会释放,多个链接就多个内存累加,直到内存oom | |
慢查询sql | 慢查询导致一个请求链接延迟不被释放,导致内存累加oom | |
死锁 | 死锁导致一个请求链接延迟不被释放,导致内存累加oom | |
sql返回数据量大 | 数据量过大,内存oom |
网友评论