我设置了一个具有 4 GB RAM 和 1.5 GiB zram 的系统。它还启用了 zswap。我的辅助存储上没有任何交换分区。
正如我所注意到的,我的系统上的性能很好。
zswap 是否用在 zram 上?在 zram 上使用 zswap 会导致任何性能问题吗?
答案1
Zram 和 Zswap 是两个独立的实用程序。
Zram 通过压缩池占用部分内存,用作内存交换设备。 Zswap 使用类似的内存池进行压缩,但也可以将其内容刷新到交换文件/分区。
所以,你不需要 Zswap,因为你没有交换。只需使用兹拉姆即可。
答案2
按照这个答案:
zswap
是一个特定于交换的、压缩的、基于 RAM 的“预缓存”。zswap
需要一个单独的交换设备。zram
是一个压缩的、基于 RAM 的块设备(可用于交换)。
我建议不要同时使用两者。如果您没有基于磁盘的交换,请仅使用zram
.
如果您同时使用zswap
和zram
,我怀疑会发生以下情况:
- 当页面被换出时,该页面将被发送到
zswap
。 zswap
将压缩页面。- 如果页面压缩良好,
zswap
将存储该页面。 - 如果页面压缩效果不佳,
zswap
会将原始(未压缩)页面发送到zram
。 zram
将压缩页面。zram
将存储该页面。
换句话说,有些页面会被冗余压缩两次。这将导致 CPU 周期的浪费。
由于 和 都zswap
将zram
压缩页面存储在 RAM 中,因此使用两者没有任何优势。
另外,由于zram
不是“预缓存”,zram
与其他交换设备一起使用的性能将低于使用zswap
(至少在某些情况下)正如这里所解释的)。