底线是,当Linux内核吃掉我们拥有的所有可用内存时(我知道它完全可以使用,内存仍然可用并可以回收:https://www.linuxatemyram.com/),但甚至在此之前,Linux内核就触发vmpressure事件,由Android用来检测OOM情况并开始杀死用户进程。
我特别在Android 9和linux内核中遇到了这个问题:
Linux version 4.14.65-tcc (dimorinny@dimorinny-pc) (gcc version 4.9.x 20150123 (prerelease) (GCC)) #6 SMP PREEMPT Fri Nov 13 16:47:48 MSK 2020也许有人知道,为什么Linux将这种情况视为内存压力,并触发该事件?也许有一种方法可以迫使Linux在vm压力事件之前收回文件支持的缓存?
发布于 2020-11-19 15:00:00
这听起来不像一个一般的Linux问题,它看起来肯定是一个问题,你的特定的Android ROM是如何设置的。
默认情况下,Linux内核将绝对恢复缓冲区/缓存,以允许新进程运行,而不会杀死已经运行的进程或分页输出。
https://unix.stackexchange.com/questions/620485
复制相似问题