性能优化——ZRAM

[FAQ21507] zram 原理及其配置

[DESCRIPTION]

swap分区其实就是 zram 部分的内容,两个可以认为是相同的东西

其中swappiness 管理的是什么情况下放入到swap 分区,

而 zram 管理了这个分区,包括分区的大小、压缩算法

[SOLUTION]

1. 是否开机zram 

方法有两个:

方法一 :

CONFIG_ZSMALLOC=y
CONFIG_ZRAM=y
CONFIG_ZRAM_LZ4_COMPRESS=y

方法二: 

/dev/block/zram0 none swap defaults zramsize=1073741824  , 将fstab.enableswap 中 zramsize = 0

 

2. zram 的压缩算法

LZ4 compression has better decompress rates than the default LZO compression algorithm (3x). Kernel config
should enable the LZ4 module and zRAM should be configured to use LZ4 in the init.rc script see Enable “Swap
to zRAM” section.


Example <device>_defconfig
CONFIG_ZRAM_LZ4_COMPRESS=y

init.rc
on init
# Set zRAM compression to lz4
write /sys/block/zram0/comp_algorithm lz4

 

3. zram 的压缩比例

zram 压缩比例,可以任意的设置。

压缩比例设置的高,内存也就减少那部分,但是存储的内容会变大;

如果设置的很高的话,不停的压缩解压,对系统的performance 有损耗;

 

但对于大内存来说,可以考虑删除zram 或 减少 zram

 

[FAQ21498] swap 压缩原理及其配置

[DESCRIPTION]

 当前手机中使用的swap 与 传统Linux中将磁盘的部分区域划分swap 有着很大的区别。当前swap分区方法是从内存中划分一块区域,首先将数据进行压缩,再放置到里面。这样可以让更多的数据放入到内存,又能避免从外存调整数据的延迟。

这种方式的原理是认为CPU 压缩,解压数据的性能成本要小于直接从磁盘中获得。

下面详细介绍其中原理,及其配置参数说明

[SOLUTION]

 当配置有GMO 时,在lowmemroykiller 进行了重新的修改 

 

 对于一个数据的处理分为两种,

1)每次使用都从磁盘中读到内存,不去使用就把它删除

2)第一次使用从磁盘中读取数据,之后将其压缩放到swap 分区中,当再次使用时,接着解压读取

因此 swappiness 就是一个指标判断 什么情况将文件丢弃,什么时候将文件进行压缩

0~100 更倾向将数据丢弃

100~200 更倾向将数据进行压缩

 

[FAQ09456] zram(内存压缩)介绍

下面是对Zram(内存压缩)一个简单介绍:

1. zram 又称内存压缩,Linux kernel会把不常用的内存进行压缩,以换出更多的内存供系统使用

    -- 平时空闲时候会做压缩,以备不时之需

    --  kernel 申请不到内存,会触发压缩机制

2. 只有user process的内存可被压缩

3. 压缩是有成本的,会影响performance

    -- 通常,launch app的时候会受影响

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值