Linux kernel ZRAM与ZSWAP的区别

Linux kernel ZRAM与ZSWAP的区别,linux-kernel,Linux Kernel,有人知道linux内核中特性ZRAM和ZSWAP之间的区别吗?似乎它们非常相似——将压缩页面存储在ram中。ZRAM是Linux内核的一个模块,以前称为“compcache”。ZRAM通过避免在磁盘上分页来提高性能,而是在RAM中使用压缩块设备,在需要使用硬盘驱动器上的交换空间之前,在该设备中进行分页。因为使用RAM比使用磁盘快,所以zram允许Linux在需要交换/分页时更多地使用RAM,特别是在安装了较少RAM的旧计算机上 ZSWAP是用于交换页面的轻量级压缩缓存。它需要的页面是 在被调出的

有人知道linux内核中特性ZRAM和ZSWAP之间的区别吗?似乎它们非常相似——将压缩页面存储在ram中。

ZRAM是Linux内核的一个模块,以前称为“compcache”。ZRAM通过避免在磁盘上分页来提高性能,而是在RAM中使用压缩块设备,在需要使用硬盘驱动器上的交换空间之前,在该设备中进行分页。因为使用RAM比使用磁盘快,所以zram允许Linux在需要交换/分页时更多地使用RAM,特别是在安装了较少RAM的旧计算机上

ZSWAP是用于交换页面的轻量级压缩缓存。它需要的页面是 在被调出的过程中,并试图将其压缩为 动态分配的基于RAM的内存池。zswap基本上是交换CPU周期 对于可能减少的交换I/O。这种权衡还可能导致 如果从压缩缓存读取的数据被删除,则性能将显著提高 比从交换设备读取快。

zram
  • 状态:从3.14版(2014年3月)起在主线内核中提供

  • 实现:压缩块设备,内存动态 分配为存储数据

  • 用法:将zram块设备配置为交换设备以消除需要 用于物理交换接口或交换文件

  • 好处

  • 无需物理交换设备。这张照片在我出生的时候很受欢迎 上网本首次出现。Zram(然后是compcache)允许用户 避免交换缩短这些内存中SSD的使用寿命 约束系统

  • zram块设备可用于除 交换,任何你可以想象使用块设备的东西

  • 缺点

  • 一旦一个页面被存储在zram中,它将一直保持在那里,直到被分页到或 无效。要调出的第一页将是最旧的 页面(LRU列表),这些是不常见的“冷”页面 通道随着系统继续交换,它将转到页面 如果温度较高(访问频率较高),则可能无法 由于冷页占用了交换插槽,因此无法存储。什么 zram无法执行(compcache具有配置块的选项 备份设备)是将页面逐出到物理磁盘。理想的你 要将内核中压缩的数据老化,将空间交换到 磁盘,以便可以使用内核内存缓存热交换页 或者将其释放出来,以便更有效地使用
zswap
  • 状态:从3.11版(2013年9月)起在主线内核中提供

  • 实现:在内核缓存中压缩交换页。内核中 缓存被压缩,压缩算法可以使用 CryptoAPI和页面存储是动态分配的。更老的 页面可以被逐出到磁盘,使其成为一种写操作 缓存

  • 用法:为常规交换设备(或交换设备)缓存交换页 文件)

  • 好处

  • 与交换代码的集成(使用Frontswap API)允许zswap 选择只存储能够很好地压缩和处理内存的页面 分配失败,在这种情况下,页面被发送到后台 交换设备

  • 缓存中最旧的页被推出到备份交换设备以 为新页面腾出空间,这就解决了LRU反转问题 这样就不会出现页面逐出

  • 缺点

  • 需要物理交换设备(或交换文件)

Compcache实际上是一种不同的仅交换(而非通用块设备)实现。它们不是同一件事,可以在同一个系统上共存(尽管这没有什么意义)。