Linux 性能调优之 OOM Killer 的认知与观测
写在前面
- 博文内容涉及到
OOM Killer
机制,以及利用 Cgroup/dmesg/BPF 观测 OOM Killer 事件,包括云原生环境下的 OOM Killer 机制的简单介绍 - 这是内存调优的最后一篇,之后会分享一些网络调优相关内容
- 理解不足小伙伴帮忙指正 😃,生活加油
我不再将这个世界与我所期待的,塑造的圆满世界比较照,而是接受这个世界,爱它,属于它。 — 《悉达多》
持续分享技术干货,感兴趣小伙伴可以关注下 _
OOM Killer 机制如何工作?
OOM Killer(Out-Of-Memory Killer)
是内核在系统内存严重不足时触发的紧急机制,通过终止进程释放内存以维持系统稳定
,每个进程有一个 OOM 相关的分数,终止进程的时候基于这个分数进行处理,有一些内核参数可以控制 OOM Killer 的行为,生产中考虑QOS
可以进行相关的配置,当然更合理的方式是使用Cgroup
对不同进程的内存资源进行限制,
OOMKiller 的工作原理是选择消耗最多内存的进程,该进程也被认为对系统操作最不重要。此选择过程基于多个因素,包括进程的内存使用情况、优先级以及运行的时间量。
一旦 OOMKiller 选择要终止的进程,它就会