写在前面:
ZRAM和zswap之间的区别
zram就像一个划分在RAM中的压缩交换空间
zswap是同时使用存储和RAM的。
ZRAM
实现:压缩块设备,内存在存储数据时动态分配
用途:将 ZRAM块设备配置为swap设备,从而消除对物理swap设备或swap文件的需要
优点:无需物理swap设备,ZRAM块设备可用于swap以外的其他应用程序,任何你可能使用块设备的应用程序。
缺点:一旦页面存储在ZRAM中,它就会一直保留在那里,直到页面被调入或失效。而且ZRAM是无法将页面移出到物理磁盘的。
zswap
实施:用于swap页面的压缩内核缓存。内核缓存被压缩,压缩算法可使用 CryptoAPI 插入,页面存储是动态分配的。较旧的页面可以被移出到磁盘,从而使其成为一种后写缓存
用途:用于常规swap设备(或swap文件)的缓存swap页面
优点:与swap代码的集成(使用 Frontswap API)允许 zswap 选择仅存储压缩良好的页面并处理内存分配失败的页面,在这些情况下,页面会被发送到备份swap设备,缓存中最旧的页面会被推送到备份swap设备,这样以便为新页面腾出空间
缺点:需要一个物理swap设备(或