我想测试内核OOM杀手在我的嵌入式Linux上是否正常工作。我使用一个应用程序测试来填充所有内存,并查看如果系统内存不足,OOM是否会杀死我的应用程序。++count);
exit(0);
结果:MyApplication triggered out of memory codition (oomkiller not called): gfp_mask=0x1200d2, order=0, oomkilladj=0
我试图通过添加以下内容更改
底线是,当Linux内核吃掉我们拥有的所有可用内存时(我知道它完全可以使用,内存仍然可用并可以回收:https://www.linuxatemyram.com/),但甚至在此之前,Linux内核就触发vmpressure事件,由Android用来检测OOM情况并开始杀死用户进程。我特别在Android 9和linux内核中遇到了这个问题:
Linux version 4.14.65-tcc (dimorinny@dimor