记录什么结束了进程?

记录什么结束了进程?

由于服务器资源紧张,我怀疑系统会时不时地结束进程。我希望将这些事件记录在单独的文件中以供调查。

如何在 syslog.conf 中设置它?我还想记录使用kill cmd 结束进程的用户。

系统是 CentOS 版本 6.4,运行 rsyslogd。

答案1

系统会不时地结束进程。

是的,当内存严重不足(和交换!)时,Linux 内核可以杀死进程。执行此操作的功能称为“oomkiller”(内存不足杀手),并将有关进程被终止的详细信息写入内核日志。您可以看到该日志,dmesg并且 syslog 服务器通常配置为将其写入/var/log/kern.log.

但是,如果您的系统运行时内存过低,以至于经常发生这种情况,那么这通常被认为是应该解决的关键问题。无法控制 oomkiller 将选择杀死哪个进程,并且它很可能会不时地杀死重要的系统进程,因此您不能真正指望系统在发生这种情况后完全稳定。

我还想记录使用kill cmd的用户

该信息不会被任何东西收集或记录,并且不可用。您可能希望最好的是有人运行,sudo kill <something>在这种情况下sudo(而不是kill)将记录该命令。但普通用户可能不使用sudo.

相关内容