http://zh.wikipedia.org/wiki/Zram
zram是Linux内核的一个模块,之前被称为“compcache”。zram通过在RAM内的压缩块设备上分页,直到必须使用硬盘上的交换空间,以避免在磁盘上进行分页,从而提高性能。由于zram可以用内存替代硬盘为系统提供交换空间的功能,zram可以让Linux在需要大量RAM的情况下在内存上进行交换/分页,而提高内存的使用率,显著得减少系统启动时(此时Linux还不能使用外部存储)对内存大小的要求。在物理内存较少的旧电脑上,尤其如此。[2][3]
即使RAM的价格比较低,这项功能仍对上网本和其他低功率的笔记本电脑、虚拟化有优势,尤其是那些使用闪存的嵌入式设备,其寿命有限且依赖于使用频率,因此用作交换时磨损得很快。[3]
参考[编辑]
- ^ Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM). [13 October 2011].
- ^ Increased performance in Linux with zram (virtual swap compressed in ram). Web Upd8. 2 October 2011 [8 November 2011].
- ^ 3.0 3.1 Google Code. compcache Compressed Caching for Linux. 27 April 2010 [11 November 2011].
- ^ Dinsan, Francis. Google is Enabling zRAM for Chrome OS By Default. Chrome Story. 28 March 2013 [29 March 2013].
外部链接[编辑]
- Compcache, Compressed Caching for Linux
- Nitin Gupta, Compcache: in-memory compressed swapping, LWN, May 26, 2009
- Dan Magenheimer, In-kernel memory compression, LWN, April 3, 2013
开启配置
1.KCONFIG配置:
2.init.rc中设置zram swap分区
3.优化swappiness
效果验证
1.dumpsys meminfo中会列出ZRAM的数据。
2.通过cat /proc/zraminfo来查看压缩的效果,或者/sys/devices/virtual/block/zram0下的记录值
OrigSize(orig_data_size):原始数据大小
ComprSize(compr_data_size):压缩后数据大小
MemUsed(mem_used_total):压缩使用的内存大小。
如上图中“未压缩前占用”是通过SwapTotal -SwapFree来得出,与OrigSize会有略微差异。
ZRAM 的Size是限制Swap的地址空间,不会开机时就占用物理内存。