Linux系统下的OOM Killer机制
Linux系统下的OOM Killer机制
OOM Killer的全称为Out of Memory (OOM) killer,它的作用简单点说就是,当系统的内存用光的时候,系统内核会自动的Kill掉一个或者一些进程,以使系统能继续的恢复到正常的运行状态。
最近几年VPS和云主机开始流行,而VPS和云主机大部分都不会拥有太高的配置,再加上一些系统上软件的配置的不合理,可能会导致内存会出现用光的情况。
另外,有些时候编译程序也会需要足够的内存,比如编译PHP的时候小内存(印象中大概是在300MB左右临界,32位和64位情况会不同)会无法启用fileinfo模块,启用了内存就会爆掉。
OOM Killer每一次Kill掉进程都会在messages日志里留下记录,检查的命令为:
cat /var/log/messages | grep oom
部分系统时中日志里的关键字为:Out of memory,对应的检查命令为:
cat /var/log/messages | grep -i 'Out of memory'
如果日志里频繁的出现OOM记录,那么就需要考虑调整服务器配置了(软件或者硬件)。