linux服务器有必要开zram吗,ZRAM SWAP内存管理讲解

术语介绍:

RAM   : 内存

SWAP:Linux交换区

Flash   : 你可以想象为电脑硬盘。

Linux:Android本身可以理解为Linux操作系统和windows操作系统一样。

(random access memory) RAM=运行内存, (Read-Only Memory) ROM=储存内存= EMMC(闪存)

手机的运行内存是指运行程序时存储或者暂时存储的地方,而CPU是用来计算的。

RAM:  运行内存。RAM越大,手机可运行的APP应用程序越多,RAM越大手机运行速度越流畅(目前基本是2GB够用、3GB流畅、4GB用的更爽)。

ROM:  储存空间。ROM越大,手机储存的文件数量越多,ROM的大小(16GB、32GB、64GB等)不影响手机运行速度。

ROM一般包括:系统空间+用户安装程序空间+用户储存空间三个部分。

Android内存管理机制

假设你先开了QQ,然后跟妹子A聊天,然后你按了HOME键,又开了威信和妹纸B聊天,假设这时候系统基本没有内存了,又按了HOME键想打开UC看看苍老师的微博。Android会怎么干哪?他发现QQ最先到后台,就把QQ给干掉了。玩了会UC,你又要跟妹纸A聊天,这时候android发现又没有内存了,发现威信半天没用了,就把威信给干掉,然后给QQ用。问题来了,你本来想多任务,结果只能同时用两个程序,打开第三个如果内存不够就要干掉之前的。但是你期望的是我如果没有把他退出去,我希望下次再打开QQ的时候还是在给妹纸A聊天的界面。

ZARM SWAP解决方案:

SWAP最开始的方案就是专门从flash(闪存ROM)上分出一块区域,每次如果内存(运行存储RAM)不够不是吧程序给干掉,而是把程序占用内存的数据复制到SWAP分区,等切换回来的时候就直接把这部分复制到内存里,这样程序直接就恢复到之前的状态,譬如QQ上与妹纸A聊天的界面。这样你就感觉程序还是以前的样子,没有被系统干掉。但是flash寿命有限一般10w次左右,这样频繁读写很快flash就挂了。于是攻城狮就想到了另外一个办法,把内存划分一部分拿出来当SWAP用,但是羊毛出在羊身上,原来你QQ占用50M内存,你又把他复制到SWAP里面还是50M,SWAP还是占用的内从,等于说一点都没减少内从使用,所以就有了ZRAM SWAP。攻城狮怎么干的呢?比如你QQ占用50M内存,他把他压缩到20M然后再放到SWAP里面,这样SWAP里面机可以放更多不用的程序,就可以释放更多的内存给新的程序用,于是你就发现多任务切换终于利索了。这就是 ZRAM SWAP.

举例说明

总内存:600M= 600M(SWAP) +300 (活动内存)

每个程序占用30M,压缩后是10M。

没有ZRAM SWAP 方案:

你可以同时打开 20 个程序 600/30 = 20

有ZRAM SWAP方案:

SWAP 里面可以保存 300/10 = 30

活动内存里可以运行  300/30 = 10

总共你可以同时运行 40 个程序, 这就是差别。

ZARM SWAP优点

可以让小内存的设备在多任务的情况下切换自如,提高用户体验。

ZARM SWAP缺点:

如果在大内存的设备上使用,不仅不会快,反倒因为不断复制内存并且CPU反复压缩解压内从而拖慢速度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值