KSM,UKSM,PKSM(1/2)

KSM是Linux内核的一个特性,提供了内存页合并的功能。
但是KSM的实现比较简单,有很多优化的余地。因此就出现了很多KSM改进的项目。

UKSM是国人开发的一个KSM改进项目。有如下优点,看了下代码,实现思路如下:
1.   全系统扫描,用户透明
KSM需要程序调用 madvise 系统调用,才会进行merge。
UKSM自动对全系统扫描,因此不需要上层应用程序进行修改。

2.   不无谓的浪费CPU时间

基于历史区域重复度,判断是否是重复块高发区。对重复块高发区,使用全速扫描。对重复块较少或者没有的区域,

采用一般速度扫描。从而降低CPU的使用率。

将全零内存块视作特殊的内存页面,并将他们合并到一个特殊的不能交换的zero page

3.   快速扫描合并冗余数据

对页面部分区域(页面大小的1/16部分)进行hash,提高hash速度。当发现hash相同的页面时,再进行页面对比。

如果相同,则进行合并。

4.   抖动区域避免

记录页面的抖动值,根据抖动值,降低扫描速度。

备注: http://kerneldedup.org

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值