有谁知道linux内核中的功能ZRAM和ZSWAP有什么区别?似乎它们非常相似 - 在ram中存储压缩页面。
答案 0 :(得分:44)
状态:自3.14版(2014年3月)起在主线内核中可用
实施:压缩块设备,内存是动态的 分配为数据存储
用法:将zram块设备配置为交换设备以消除需求 物理交换定义或交换文件
<强>优势强>:
无需物理交换设备。这个名字很受欢迎 上网本首次亮相。 Zram(然后是compcache)允许用户访问 避免交换缩短这些内存中SSD的使用寿命 约束系统。
zram块设备可用于除以外的其他应用程序 交换,你可能会使用块设备的任何东西。
<强>缺点强>:
状态:自3.11版(2013年9月)起在主线内核中可用
实施:交换页面的压缩内核缓存。在内核 缓存是压缩的,压缩算法可以使用 CryptoAPI和页面存储是动态分配的。年长 页面可以被驱逐到磁盘,使其成为一种后备 高速缓存中。
用法:用于常规交换设备的缓存交换页(或交换 文件)。
<强>优势强>:
与交换代码集成(使用Frontswap API)允许使用zswap 选择只存储压缩良好并处理内存的页面 分配失败,在这些情况下,页面被发送到后台 交换设备。
缓存中的最旧页面被推送到支持交换设备 为更新的页面腾出空间,这解决了LRU反演问题 缺乏页面驱逐会出现。
<强>缺点强>:
答案 1 :(得分:13)
ZRAM 是Linux内核的一个模块,以前称为“compcache”。 ZRAM通过避免在磁盘上进行分页来提高性能,而是使用RAM中的压缩块设备进行分页,直到需要使用硬盘驱动器上的交换空间为止。由于使用RAM比使用磁盘更快,因此zram允许Linux在需要交换/分页时更多地使用RAM,尤其是在安装了较少RAM的旧计算机上。
ZSWAP 是交换页面的轻量级压缩缓存。它需要页面 在被换出的过程中并试图将它们压缩成一个 动态分配基于RAM的内存池。 zswap基本上交易CPU周期 可能减少交换I / O.这种权衡也可能导致a 如果从压缩缓存中读取,则会显着提高性能 比从交换设备读取更快。