我可以将 Zram 与 Zswap 结合而无需双重压缩吗?

我可以将 Zram 与 Zswap 结合而无需双重压缩吗?

我目前将大部分交换空间放在 Zram 上,因为我不想过度磨损我的 SSD。

但是,我确实有一个在安装系统时遗留下来的交换分区,我只是降低了它的优先级,并启用了它......

我的问题是这样的:-

  1. 我可以启用 Zswap 来为我的基于 SSD 的交换提供其写回缓存功能,而无需它尝试缓存基于 Zram 的交换吗?...

  2. 优先级到底起什么作用,我认为这只是“在 Y 之前填充 X”的问题,但是是否可以将长期内容存储在一个交换区域中,而将更多临时内容存储在另一个交换区域中...比如说 Zram 用于临时内容,而将长期内容存储在 SSD 上。

  3. 有什么方法可以查看哪些交换中心有活跃的 Zswap 吗?

我理解交换到 RAM 的含义(和明显的不合逻辑),这是一个关于 zswap 使用什么标准来确定是否应该缓存设备的问题……以及它如何在 zram 上进行交换。

注意:99% 的时间里,我有足够的 RAM 来运行而无需交换,但初始化代码和奇怪的内存泄漏累积是正常的,如果可以的话,这会被交换出去……因此,与没有交换相比,zram 交换的使用量将减少一半,否则几乎没有开销。此外,我支持大量 Linux 系统,其中许多系统不能有基于磁盘的交换……所以我想知道 zswap 和 zram 是否可以很好地协同工作,这样我才能知道如果情况允许,我是否可以这样做。

通过“Play Nice”,我的意思是...zswap 应该缓存基于“disk/ssd”的交换,但没有基于 zram 的交换!

答案1

这“有点”晚了,但也许这对某些人还是有帮助的……我没有 Ubuntu 机器,但我猜内核的行为会类似。如果您在 NixOS 上启用 zram,zswap 不会被禁用,因此完全符合您描述的行为。我想知道这是否会是一个问题,这就是我发现这个问题的原因。

我使用我的系统让它交换东西并查看内核统计信息(/sys/kernel/debug/zswap)(如果使用了 zswap)。

答案是:内核足够智能,不会将 zswap 用于 zram 设备。

相关内容