Linux 进程被杀掉(OOM killer),查看系统日志

简介: OOM killer

基本概念:

Linux 内核有个机制叫 OOM killer (Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉。内核检测到系统内存不足、挑选并杀掉某个进程的过程可以参考内核源代码 linux/mm/oom_kill.c,当系统内存不足的时候,out_of_memory () 被触发,然后调用 select_bad_process () 选择一个”bad” 进程杀掉。如何判断和选择一个”bad 进程呢?linux 选择”bad” 进程是通过调用 oom_badness (),挑选的算法和想法都很简单很朴实:最 bad 的那个进程就是那个最占用内存的进程。

如何查看:

grep "Out of memory" /var/log/messages

image.png

查看系统日志方法:

运行 egrep -i -r 'killed process' /var/log 命令,结果如下:

image.png

也可运行 dmesg 命令,结果如下:
image.png

相关文章
|
1天前
|
存储 监控 Ubuntu
Linux系统之GoAccess实时Web日志分析工具的基本使用
【5月更文挑战第22天】Linux系统之GoAccess实时Web日志分析工具的基本使用
10 0
|
4天前
|
存储 Linux 数据安全/隐私保护
Linux进程间通信
Linux进程间通信
19 6
|
4天前
|
存储 Unix Linux
【Linux 系统】进程信号 -- 详解(下)
【Linux 系统】进程信号 -- 详解(下)
|
4天前
|
NoSQL Linux Shell
【Linux 系统】进程信号 -- 详解(上)
【Linux 系统】进程信号 -- 详解(上)
|
4天前
|
消息中间件 存储 安全
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(下)
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(下)
|
4天前
|
消息中间件 算法 Linux
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(上)
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(上)
|
4天前
|
存储 缓存 Linux
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
|
11天前
|
存储 Linux Shell
Linux:进程等待 & 进程替换
Linux:进程等待 & 进程替换
33 9
|
11天前
|
存储 Linux C语言
Linux:进程创建 & 进程终止
Linux:进程创建 & 进程终止
34 6
|
5天前
|
算法 Linux 调度
【进程调度】Linux内核的进程调度队列--runqueue
【进程调度】Linux内核的进程调度队列--runqueue