当前手机中使用的swap 与 传统Linux中将磁盘的部分区域划分swap 有着很大的区别。当前swap分区方法是从内存中划分一块区域,首先将数据进行压缩,再放置到里面。这样可以让更多的数据放入到内存,又能避免从外存调整数据的延迟。
这种方式的原理是认为CPU 压缩,解压数据的性能成本要小于直接从磁盘中获得。
下面详细介绍其中原理,及其配置参数说明
当配置有GMO 时,在lowmemroykiller 进行了重新的修改
对于一个数据的处理分为两种,
1)每次使用都从磁盘中读到内存,不去使用就把它删除
2)第一次使用从磁盘中读取数据,之后将其压缩放到swap 分区中,当再次使用时,接着解压读取
因此 swappiness 就是一个指标判断 什么情况将文件丢弃,什么时候将文件进行压缩
0~100 更倾向将数据丢弃
100~200 更倾向将数据进行压缩