为什么默认的 zram 值是 ram 的 1/4?为什么不是高值?

为什么默认的 zram 值是 ram 的 1/4?为什么不是高值?

我注意到 zram 的通常值是总 RAM 的 1/4。 https://fedoraproject.org/wiki/Changes/SwapOnZRAM

为什么 3/4 或全部内存的使用率这么低?

答案1

从该页面开始就是一个部分为什么不用更大的 zram 设备?

为什么不用更大的 zram 设备?

保守的主要目的是解决升级方面的担忧。某些工作负载可能具有较少的可压缩数据。因此,目前不要将 /dev/zram0 的大小设置为 100% 的 RAM。即使 /dev/zram0 的大小为 200% RAM 也并非不合理如果压缩率至少为 2:1。但是,系统可能会“陷入”类似于传统驱动器交换的交换抖动,只不过它受 CPU 和内存限制,而不是受 IO 限制。功能所有者认为,最好是直接 oom,而不是过度使用 zram 设备大小。

相反,如果对大小过于保守,则会导致更多 OOM 终止情况。如果将该功能应用于升级被拒绝,则将上限增加到约 8GiB 可能是合理的。当然,需要更多的反馈和测试,并且会予以考虑。

请注意,内核 zram 文档指出,过大的 zram 设备确实会带来开销。用户可以在安装后轻松增加大小,而使用驱动器交换则无法轻松实现此功能。Fedora 33 的目标是默认设置,这对于绝大多数用例来说都是有用且安全的。

答案2

Fedora 34 提议将 zram 增加到 1.0 RAM 倍数https://fedoraproject.org/wiki/Changes/Scale_ZRAM_to_full_memory_size

相关内容