我在用MXLinux几天后,我发现了一个有问题的行为。突然几个过程是自动杀死。为此,我不得不面对很多问题。有什么办法可以阻止它吗?我不想自动终止进程。请帮我解决它。
答案1
有什么办法可以阻止它吗?
不幸的是没有。
基本原理如下:一旦系统完全耗尽内存,它就必须冻结,因为它甚至无法运行最简单的命令 - 因为这需要分配内存。这OOM-Killer 的目的是通过杀掉的方式来防止系统变得完全无法使用(基于一些启发式- 其他人可能会随机地说)释放内存的进程。这样,管理员至少可以尝试使系统恢复到可用状态,希望无需重新启动。完全禁用此功能尚未实现(另请参阅StackOverflow 上的这个答案)。
为了缓解这个问题,你可以尝试
- 使用
top
或任何类似的系统监视器来调查哪个程序开始消耗内存。如果它是您自己编写的,则您可能在内存管理中创建了错误,您可以尝试使用诸如valgrind
.如果是第三方程序,可以尝试限制其资源(参见答案这个问题,例如),这样它至少不会影响您的系统。 - 尝试调整 OOM Killer 的设置,例如过度投入,但请注意,这可能会产生副作用。
- 增加交换空间(参见 Ipor Sircer 的评论),但请注意,这会使系统非常慢。
如果您的硬件最终无法胜任任务,您可能必须考虑升级。