zswap是什么,第1张

Zswap是Linux内核的虚拟内存压缩功能,可以为要交换的页面提供压缩回写缓存。

Zswap是Linux内核的虚拟内存压缩功能,可以为要交换的页面提供压缩回写缓存。

zswap是什么,zswap是什么,第2张

简介

当一个内存页面即将被换出时,ZWAP并不将其移动到交换设备,而是对其进行压缩,并将其存储在系统RAM中动态分配的内存池中。回写实际交换设备的动作会被延迟甚至完全避免,从而显著减少Linux系统中用于交换的I/O;副作用是压缩需要额外的CPU周期。ZSWAP不是虚拟块设备,而是钩入普通交换代码。在对磁盘进行写入/读取的实际操作之前,它使用自己的托管内存来换出/换入数据,然后在内存不足后使用传统的交换分区。所以zSWAP适合已经有切换分区的系统,而zRAM更适合安卓等没有切换分区的嵌入式系统。

发展背景

Linux内核3.11版实现了以下新功能:(1)增加了tmpfile的标识位,用于创建安全的临时文件;实验镭龙显示动态电源管理支持,这需要通过传递radeon.dpm=1参数来启用;客户端支持并行分布式文件系统Lustre:最初支持NFS42和带有SELinmx标签的NFS分区;详细的页面书写历史跟踪等。此外,SYSVIPc消息队列的可扩展性得到了提高,允许应用程序请求低延迟网络轮询,并添加了可压缩的交换分区缓存Zswap。

Zswap和zRam

其实zRam有两大问题,就是当内存快满的时候,zRam本身会尝试将数据返回内存,而系统会尝试将数据填充到zRam中。

ZRam是通过将自身虚拟化为交换分区来实现的。而zSwap则参与内核的交换过程,截取系统交换的所有数据,存储在自己的内存中。这种实现的一个优点是,它可以与硬盘上真正存在的交换分区结合使用。也避免了zRam的两大问题。因为zSwap在面临内存不足时可以将数据写入交换分区,并且不尝试将数据返回内存。另一方面,如果很大一段内存被空空闲程序占用,zSwap可以将数据填充到硬盘中。由于这种内存很少使用,所以将其存储在慢速硬盘中不会影响运行速度。

ZSwap其实可以和zRam一样的模式工作,只要不设置交换分区。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » zswap是什么

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情