UKSM Linux 内核

GPLv2
C/C++
Linux
2012-04-23
红薯

Linux UKSM 是国人自主研发的一个 Linux 内核相关项目,这个项目对服务器和桌面应用都可以显著的减少 Linux 系统冗余的内存,已经在 RHEL6、CentOS 6、Ubuntu 12.04 等系统充分验证和测试过。

Linux相同页面合并机制(KSM)使得内存中相同的页面,可以通过修改页表的方式合并成一个。通常这个机制被应用在有众多虚拟机(目前仅支持 KVM)或者有很多冗余内存数据的场景(如有很多类似数据工作集的并行科学计算)里面。但是,目前它的实现方式仍然比较简陋,UKSM的出现,彻底消除了KSM原本局限,真正使得这项技术能被更多的普通用户使用。具体的来说,它有以下的亮点(原本KSM不具有的特性):

  • 全系统扫描,用户透明。 UKSM现在自动扫描所有用户进程的匿名映射内存区域(包括malloc分配出来的内存)。不需要修改一行应用程序的源码,使用起来超级简单,安装完成以 后,重启使用本站补丁的内核即可(有部分已编译的二进制内核供下载)。起它几乎什么都不需要做(除非你想通过sysfs调整其内部参数)。
  • 不无谓地浪费CPU时间。UKSM自动探测并分析得出包含丰富冗余数据的区域,并在其上全速工作。对于没有太多冗余甚至彻底没有冗余数据的区域,只进行速度非常低(通常情况下,用top看,CPU占用率为0)的采样扫描。而当包含丰富冗余数据的区域出现的时候,它又能非常快速的作出响应。
  • UKSM能够以极快的速度扫描,并合并冗余数据。 在Intel core 2 Q9300的CPU上,KSM的官方评测其内存合并速度最高在260M/s左右,而实际工作的平均速度在几十M每秒。由于采用了全新的hash算法,相同的硬件环境下面,我们的算法的合并速度最高可达到477MB/sec ∼ 923MB/sec。而对于不包含冗余数据的页面上,UKSM的扫描速度最高是627MB/sec ∼ 2445MB/sec。正因为有如此惊人的速度,全系统扫描才真正成为可能。而对于已有的KVM的冗余消除应用来说,速度上无疑是一个质的的飞跃!
  • 抖动区域避免。UKSM能实时自动地发现不友好的抖动区域,并降低其上的扫描速度,避免在此类区域上浪费时间。
加载中

评论(0)

暂无评论

UKSM发布稳定版本0.1.1和修正版本0.1.0.1

UKSM-0.1.1 是一个新增功能特性版,主要新特性包括: 对全0内存页面提供了特别的支持。 在扫描此类全0页面的时候更快,对工作集影响更小。同时全0页面可以避免像内核原本KSM实现的那样可能被...

2012/04/28 07:43

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

OpenSUSE 12.1 安装3.4.5内核及UKSM内核补丁

昨天,把自己的OpenSuSE12.1内核升级到了3.4.5,最新的内核,同时也把UKSM的补丁也打到内核中去了。 给大家介绍一下下。 首先下载最新版的内核源代码,很简单,在 kernel.org 就可以下载了,...

2012/07/19 20:15
468
0
Linux怪谈——发狂的systemd-journald

背景 自从换上SSD重装Arch后,已经n久没有遇到问题了,系统的软件包也没有多大的变动。前几天开始捣鼓上了uksm patch,编译了很多kernel,起初还好好的,但是在一次编译后,发现笔记本的风扇...

2014/02/11 20:00
4.3K
0
Fedora 19编译内核(打BFS+BFQ+UKSM补丁)简易指南

自定义内核显然就是开源的好处之一,不过内核编译属于高级用户(Advanced Users)的范畴,newbies慎入。下面以Fedora 19为例(Fedora 14及更高版本都是通用的内核编译方法,以后如果有变动了...

2013/09/12 23:05
612
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部