技术解析

如何正确查看进程被 kill 的历史记录呢?
0
2021-06-16 16:57:03
idczone

linux 环境下,当内存不足时,系统好像会 kill 掉内存占用最高的进程,通过下面的命令可以查看到记录

dmesg -T | egrep -i -B100 'killed process'

问题来了,日志中只会显示进程名称,类似下面的。那么有没有什么参数可以显示出详细的信息呢?比如 ps -f,这样可以知道执行文件的位置,命令的参数等....

[57014246.819564] [ 8437]     0  8437   903792   100742     281        5             0 java
[57014246.819566] [ 8803]     0  8803   904802   102627     290       18             0 java
[57014246.819615] Out of memory: Kill process 9929 (java) score 111 or sacrifice child
[57014246.822405] Killed process 9929 (java) total-vm:3630468kB, anon-rss:505548kB, file-rss:0kB, shmem-rss:0kB

journalctl _PID=9929

感谢回复,journalctl 中记录的只有通过 systemd 管理的,但是被 kill 的进程并没有使用到 systemd

只有 out of memory 的才会有日志
普通 kill 没有

最好是研究某个程序的日志比较靠谱些

没事,实在不行一个一个排查启动进程?

Linux audit framework

挂载 coredumper, log stacktrace https://code.google.com/archive/p/google-coredumper/

atop, audit

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服