不同于其他的 OOM 错误,Killprocessorsacrifice child 错误不是由 JVM 层面触发的,而是由操作系统层面触发的 。
9.1 原因分析默认情况下,Linux 内核允许进程申请的内存总量大于系统可用内存,通过这种“错峰复用”的方式可以更有效的利用系统资源 。
然而,这种方式也会无可避免地带来一定的“超卖”风险 。例如某些进程持续占用系统内存,然后导致其他进程没有可用内存 。此时,系统将自动激活 OOM Killer,寻找评分低的进程,并将其“杀死”,释放内存资源 。
9.2 解决方案
- 升级服务器配置/隔离部署,避免争用
- OOM Killer 调优 。
文章插图
涯海
参考与感谢《深入理解 Java 虚拟机 第 3 版》
https://plumbr.io/outofmemoryerror
https://yq.aliyun.com/articles/711191
https://github.com/StabilityMan/StabilityGuide/blob/master/docs/diagnosis/jvm/exception
【教你写Bug,常见的 OOM 异常分析】
推荐阅读
- 产品风险评估报告怎么写 淘宝店铺风险分析
- 再见HTML ! 用纯Python就能写一个漂亮的网页
- 纯CSS实现轮播图
- 假设你的文案压根没人看
- 如何写出转化率高的爆款文案
- 写在最美的季节,送给径山的冬日散文诗
- 分析2.5万篇博客后,来看看后端程序员每天都在写什么
- 淘宝卖家给买家的好评怎么写 淘宝店铺好评怎么写
- 淘宝申诉说明范例 淘宝侵权申诉内容怎么写
- Ubuntu18.04部署django3.x