系统相关
首页 > 系统相关> > linux – Zswap,Zram,Zcache桌面使用场景

linux – Zswap,Zram,Zcache桌面使用场景

作者:互联网

我一直在努力了解Zswap,Zram和Zcache的用例差异.为长期/略微措辞问题提前道歉.
我已经完成了一堆谷歌搜索,我知道zram基本上是压缩交换的块设备,而zswap使用frontswap api在内核中压缩.
似乎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

请不要“买更多ram”的评论!我已经在这块主板上占据了最大值,并且在可预见的未来有一个0美元的升级预算.但是我喜欢保持开放内存密集型程序(多个浏览器是我公羊的主要消费者)所以我不介意在合理的性能下降限制内进行交换.

解决方法:

我可以尝试回答这些问题的最好方法是说这三个实际上是什么.

zRAM

从本质上讲,zRAM只不过是一个交换设备.内存管理将页面推送到交换设备,zRAM将压缩该数据,根据需要分配内存.

Zswap

Zswap是一个压缩的交换空间,由内核在内部分配,不会显示为交换设备. frontswap以与交换设备相同的方式使用它,但是以更有效的方式使用.

Zcache

Zcache是​​frontswap和cleancache的前端.

Zcache取代了zRAM,所以你并不是真的希望他们两个都在争夺资源,尽管有一些关于如何在适当的情况下如何能够很好地协同工作的讨论.现在我不打算尝试,让专家来解决这个问题.

一些阅读:
Cleancache vs 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(在Android设备上仍然启用了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

标签:linux,memory-management,swap,virtual-memory
来源: https://codeday.me/bug/20190809/1629025.html