我一直试图理解Zswap、Zram和Zcache在用例上的区别。为这个冗长的[有点粗俗的问题]事先道歉。我已经做了大量的谷歌搜索,我知道zram基本上是一个用于压缩交换的块设备,而zswap在内核中使用frontswap进行压缩。看起来zswap的一个优点是,在LRU的压力下,它可以将一些页面移动到支持交换,而zram不能这样做(请确认,不确定这是否属实)。
所以我的问题是: 1.)作为桌面用户,zcache/ zswap /zram之间的性能差异是什么,特别是zswap和zram?例如,一个更好/更糟的内存碎片(导致过多的内存使用和浪费)?
奖金问题: 2.)对于桌面性能(包括桌面的响应性、最小破坏性的交换行为和正常的内存管理),是否存在上述(例如,zram+zswap或zram+zcache)的理想组合?
*非常感谢引用资料来源。
我应该补充说,我是一个经验丰富的Linux用户(5年),并试图真正了解我的系统,包括内核的工作方式。然而,我不是一个程序员,只有非常基本的编程知识(3个学分的大学课程)。但是,如果你需要的话,要专业一点;我会用我自己的时间来分析你的意思。
系统规格:
Linux Mint 15
Processor:Core 2 Quad 6600 (2.4ghz)
Ram: 8G
linux kernel: liquorix 3.11 series
Storage: 128 GB SSD, 1TB HDD 5400rpm不要“买更多的拉姆”的评论,请!我已经在这个主板上最大的内存,并有一个0美元的升级预算,在可预见的未来。然而,我喜欢保持开放内存密集型程序(多个浏览器是我的ram的主要使用者),所以我不介意在合理的性能退化限制范围内进行交换。
发布于 2013-11-26 20:41:02
我试着回答这些问题的最好方法是说出这三个问题到底是什么。
zRAM本质上不过是一个交换设备。内存管理会将页面推送到交换设备,zRAM将压缩这些数据,根据需要分配内存。
Zswap是一个压缩的交换空间,由内核在内部分配,而不是以交换设备的形式出现。它是由frontswap以同样的方式使用交换设备,但以更有效的方式。
Zcache是前端的前端和清理器。
Zcache取代了zRAM,所以您并不希望它们都为资源而斗争,尽管在适当的情况下,有一些关于两者如何能够很好地一起工作的讨论。就目前而言,我不会费心去尝试让专家来解决这个问题。
有些人读到:
https://lwn.net/Articles/454795/
https://www.kernel.org/doc/Documentation/vm/zswap.txt
http://www.zeropoint.com/Support/ZCache/ZCachePro/ZCacheAdvantages.html
就我个人而言,我刚刚在所有拥有足够新内核的系统上禁用了zRAM并启用了Zcache (zRAM仍然在安卓设备上启用)。
至于表现:这是你自己必须考虑的事情。每个人都不一样。从理论上讲,Zcache应该比zRAM高效得多,它可以在两个级别(frontswap和cleancache)工作,并且可以根据需要(例如,在硬盘上)跳转到交换设备。您还可以选择使用哪种压缩算法,如果它使用过多的CPU (我无法想象它会使用)。
更新: Zcache已从3.11内核中删除(目前),因此zRAM再次成为更新内核中的唯一选项。https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1256503/comments/3 http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=96256460487387d28b8398033928e06eb9e428f7
https://unix.stackexchange.com/questions/99580
复制相似问题