> 데이터 베이스 > MySQL 튜토리얼 > KSM,UKSM,PKSM(1/2)

KSM,UKSM,PKSM(1/2)

WBOY
풀어 주다: 2016-06-07 15:20:26
원래의
2423명이 탐색했습니다.

KSM是Linux内核的一个特性,提供了内存页合并的功能。 但是KSM的实现比较简单,有很多优化的余地。因此就出现了很多KSM改进的项目。 UKSM是国人开发的一个KSM改进项目。有如下优点,看了下代码,实现思路如下: 1. 全系统扫描,用户透明 KSM需要程序调用 mad

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿