Linux触发OOM Killer导致Mongo进程终了[signalProcessingThread] got signal 15 (Terminated)

有一台自带MongoDB实例的Linux机器,服务经常中断。
排查MongoDB日志后发现下面的内容。

1
[signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends

got signal 15 (Terminated)意味着有进程对MongoDB发送了kill命令,导致服务中断。
后面查询系统日志发现 OOM Killer 的相关日志。
OOM(Out-Of-Memory) Killer在内存不足的情况,会自动杀死进程,确保系统运行的内存。
内存不足时的具体动作由以下参数控制。

1
2
3
4
vm.panic_on_oom
vm.panic_on_oom=0: (默认值)触发OOM Killer杀死进程
vm.panic_on_oom=1: 系统还有可用内存的情况下,触发OOM Killer,否则触发Linux系统的panic状态
vm.panic_on_oom=2: 直接触发Linux系统的panic状态