在没有任何磁盘交换的情况下对 zram 启用 zswap 的效果

在没有任何磁盘交换的情况下对 zram 启用 zswap 的效果

我设置了一个具有 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.

如果您同时使用zswapzram,我怀疑会发生以下情况:

  1. 当页面被换出时,该页面将被发送到zswap
  2. zswap将压缩页面。
  3. 如果页面压缩良好,zswap将存储该页面。
  4. 如果页面压缩效果不佳,zswap会将原始(未压缩)页面发送到zram
  5. zram将压缩页面。
  6. zram将存储该页面。

换句话说,有些页面会被冗余压缩两次。这将导致 CPU 周期的浪费。

由于 和 都zswapzram压缩页面存储在 RAM 中,因此使用两者没有任何优势。

另外,由于zram不是“预缓存”,zram与其他交换设备一起使用的性能将低于使用zswap(至少在某些情况下)正如这里所解释的)。

相关内容