为什么我的进程被杀死了?

Why my process has been killed?

我有一个程序,我自己在 C/C++ 上写的,被 Linux 杀死了。消息 "killed" 出现。愿意挖掘我在文件/var/log/kern.log中观察到的问题:

  Out of memory: Kill process 3915 (my_proj) score 236 or sacrifice child
  Killed process 3915 (my_proj) total-vm:5503376kB, anon-rss:3857420kB, file-rss:40kB

我不知道如何阅读这些信息,以及是否有一些有用的信息来理解为什么会发生这种情况。你能帮帮我吗?

您是 Linux OOM 杀手的受害者。

您可以调整 OOM 杀手处理特定进程的 OOM 条件的方式。例如,您的 my_proj 进程 3915 之前被杀死。 如果你想让它不被OOM killer杀死,你可以:

echo -15 > /proc/3915/oom_adj