Linux kernel 为什么我的进程被终止了?

Linux kernel 为什么我的进程被终止了?,linux-kernel,out-of-memory,linux-mint,Linux Kernel,Out Of Memory,Linux Mint,我有一个程序,是我自己用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 我不知道如何阅

我有一个程序,是我自己用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 killer使用某些进程处理OOM条件的方式。例如,您的my_proj进程3915早些时候被终止。 如果你不想让它被OOM杀手杀死,你可以:


echo-15>/proc/3915/oom_adj

结帐:另外:@SambhavSharma感谢您的第二个链接。这很有帮助,谢谢你的回答。让我们假设我再次运行脚本。应为新pin分配“xxxx”。我应该写:echo-15>/proc/xxxx/oom_adj吗?这有副作用吗?我还有第二个问题。我在一台内存大、操作系统ubuntu的计算机上运行程序时也会遇到这个错误。你会建议我在那里使用相同的命令吗?1-是的:附带的影响是你的进程不会被终止,但其他一些进程会被终止。是的,ubuntu是一个基于linux的发行版。3-你可能有内存泄漏!