zswap 是否压缩写入交换设备的页面?是否有资格减少交换IO?
答案1
zswap 是否压缩写入交换设备的页面?
否。“在恢复写回期间,zswap解压该页面,将其添加回交换缓存,并安排回写到先前保留的交换槽中”(http://lwn.net/Articles/537422/)
是否有资格减少交换IO?
是的,在大多数情况下。
答案2
在2013年LSFMM峰会,写入交换设备的页面没有压缩。但听起来并没有任何技术原因不这样做,只是它会增加复杂性。
Hugh [Dickins] 补充说,页面缓存(文件)页面的压缩可能很有吸引力,但文件系统开发人员总体上似乎对 zcache 不那么感兴趣。因此,他同意从 zswap 开始可能更有意义,也许随着时间的推移添加 zcache 功能。
Dan [Magenheimer,zcache hacker] 表示,只要明确认识到 zswap 不是该领域发展的终结,他就会同意合并 zswap;他说,要充分发挥内核压缩的优势,还有很多工作要做。换句话说,他计划随着时间的推移提交补丁来增加 zswap 的功能。
听起来添加此功能很有意义,可以节省磁盘空间和读/写时间,但需要更多的工作和复杂性。据猜测,需要一些工作才能有效地在磁盘上为可变大小的压缩页面分配空间。 (这只是我的猜测。)
我们可能希望在未来看到这一点,但这显然取决于那些在此基础上开发的人的努力。
自 2014 年以来,似乎没有太多关于此问题的公开讨论。但关注此问题的一种方法可能是监控对毫米/zswap.c在内核中。
答案3
zswap 功能可以通常不会写入交换设备。它在系统内存中分配了一个空间,用于存储正在交换的页面。因此,完全避免了对交换设备的写入。
只要有可用空间来存储压缩页,就会显着减少系统对交换设备的 I/O。如果压缩池已满,它将它们写回后备交换设备。