OOM_Killer
OOM Killer
一、什么是OOM Killer
程序运行的空间局部性决定一段时间内执行的代码段比较集中,任何时候并不需要加载所有数据到物理内存。
操作系统把进程所需的内存空间按页进行管理/加载,通过虚拟页和物理页的映射可以实现:
同时运行多个程序,他们各自拥有独立的虚拟内存地址。
单个程序可以只加载当前用到的数据到物理内存。
二、什么时候触发
当所有运行程序所需的虚拟内存超过物理内存阈值时,linux内核会通过oom killer会选择oom_score大的进程杀掉,并且不会产生warn。通过cat /proc/{pid}/oom_score
查看进程oom_score。
三、相关日志
grep kill /var/log/messages
dmsg -T | grep kill