ZRAM 与 ZSWAP 适用于低端硬件?

ale*_*lex 14 memory linux performance ssd hard-drive

我花了两天时间研究这两个可以节省一点内存的功能。我是这样理解它们的:

  • ZRAM:一旦 RAM 达到 100% 使用率(或剩余的不可压缩内存),它将压缩一些数据并将其放入 ZRAM 交换中以降低 RAM 使用率。如果交换设备空间不足,则 ZRAM 开始写入磁盘/SSD 交换(如果存在)。

  • ZSWAP:与 ZRAM 类似,当 RAM 使用率达到 100% 时(或者当 RAM 使用率达到“不可压缩内存大小”限制时),数据开始被压缩并存储在 ZSWAMP 池中,一旦该池已满,最近最少使用的块被写入磁盘/SSD 交换。如果块不可压缩,则数据会立即写入磁盘/SSD 交换。

我做对了吗?

1- 这两者中哪一个使用更多的 CPU?

2- 对于内存较低的设备来说,哪一个更好?

3- 对于带有 HDD 的设备来说,哪一个更好?(因为 HDD 比 SSD 慢)

我有 8GB RAM 和 1TB HDD,配备 i5-9400f CPU。我很难做出决定,因为我的 RAM 较低,而且存储设备速度较慢,而不是 SSD。

har*_*ymc 4

1- 这两者中哪一个使用更多的 CPU?

显然,ZRAM 会尝试压缩所有内容,甚至是不可压缩的数据,并将其保存在分配的压缩缓存中,从而浪费 RAM 空间和 CPU。

2- 对于内存较低的设备来说,哪一个更好?

ZSWAP 在几乎所有条件下都更好,因为它的 RAM 缓存是动态的,可以根据需要缩小或扩展。因此,内存管理的效率更高。

3- 对于带有 HDD 的设备来说,哪一个更好?(因为 HDD 比 SSD 慢)

ZSWAP,因为它将更好地利用 RAM。

  • 第一点是错误的,当没有交换任何内容时,zram 几乎不消耗 RAM 空间。限制是最大未压缩大小,而不是固定的压缩缓存大小。 zswap 更糟糕,因为它不像 zram 那样主动更新 (2认同)