页面缓存会消耗 RAM 和 vmPressure

页面缓存会消耗 RAM 和 vmPressure

底线是当 Linux 内核耗尽我们拥有的所有可用 RAM 时的情况(我确实知道这是完全可以的,并且内存仍然可用并且可以回收: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 在虚拟机压力事件之前回收文件支持的缓存?

答案1

这听起来不像是一般的 Linux 问题,而且看起来确实像是您的特定 Android ROM 设置方式的问题。

默认情况下,Linux 内核绝对会回收缓冲区/缓存,以允许新进程运行,而不会杀死已经运行的进程或将内容分页。

相关内容