我想知道当我尝试在没有交换分区或交换文件的情况下运行Linux的嵌入式主板上运行新进程时会发生什么。通常对于PC上的Linux,它会从RAM中换出页面,从而为新进程释放内存。现在,嵌入式主板(例如以任何开发板为例),在没有交换的情况下运行linux,想要在RAM完全满载的情况下运行新进程,它如何运行新进程?
电路板将具有寿命有限的闪存,因此即使我们实施交换也不能频繁交换。
答案 0 :(得分:6)
OOM杀手来了并杀死它认为需要杀死的任何一个过程。
此处提供了更多信息:http://linux-mm.org/OOM_Killer
答案 1 :(得分:2)
Android系统尝试尽可能长时间地维护应用程序进程,但最终需要删除旧进程以回收新内存或更重要进程的内存。要确定要保留哪些进程以及要杀死哪些进程,系统会根据进程中运行的组件和这些组件的状态将每个进程置于“重要性层次结构”中。首先消除具有最低重要性的进程,然后消除具有次低重要性的进程,以此类推,以便恢复系统资源。
取自这里: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html
我假设android / linux对你来说是一回事