一个极其高效的虚拟机内存冗余消除机制:UKSM
-
- 帖子: 43
- 注册时间: 2011-12-13 19:55
一个极其高效的虚拟机内存冗余消除机制:UKSM
Linux内核机制KSM(Kernel Samepage Merging)能合并KVM虚拟机之间相同内存的页面,被CentOS, RHEL之类的服务器内核广泛采用,但是其速度很慢。UKSM(Ultra KSM)是国人在此基础上的极大改进。通过使用了更高级的算法,UKSM的新特性包括:
* 全系统扫描,用户透明:能扫描所有应用程序(虚拟机方面目前仅支持KVM,其它的也在计划中)中匿名映射区域的页面,不需要开发者修改一行程序就能从中获益。
* 极大提高了工作效率,其页面合并的速度,最高可比原本的KSM快20倍以上。
* 非常节省CPU,如果系统当中没有冗余页面,那么其CPU占用几乎观察不到,而一旦系统当中出现了冗余的内存的时候,它又能快速发现加以消除。
具体的评测请看:
http://kerneldedup.org/projects/uksm/benchmarks/
官方评测数据显示,其效率相当给力!常大量使用 KVM虚拟机的朋友,尤其值得观察评测中KVM相关的部分。
现在 UKSM已经发布了两个稳定版本,并且提供主流发行版本内核基础上UKSM补丁过的内核安装包下载:
http://kerneldedup.org/projects/uksm/download/
欢迎广大网友们使用,并反馈意见!
* 全系统扫描,用户透明:能扫描所有应用程序(虚拟机方面目前仅支持KVM,其它的也在计划中)中匿名映射区域的页面,不需要开发者修改一行程序就能从中获益。
* 极大提高了工作效率,其页面合并的速度,最高可比原本的KSM快20倍以上。
* 非常节省CPU,如果系统当中没有冗余页面,那么其CPU占用几乎观察不到,而一旦系统当中出现了冗余的内存的时候,它又能快速发现加以消除。
具体的评测请看:
http://kerneldedup.org/projects/uksm/benchmarks/
官方评测数据显示,其效率相当给力!常大量使用 KVM虚拟机的朋友,尤其值得观察评测中KVM相关的部分。
现在 UKSM已经发布了两个稳定版本,并且提供主流发行版本内核基础上UKSM补丁过的内核安装包下载:
http://kerneldedup.org/projects/uksm/download/
欢迎广大网友们使用,并反馈意见!
- reverland
- 帖子: 1317
- 注册时间: 2011-11-26 15:57
- 系统: windows xp
- 联系:
- 到处看看
- 论坛版主
- 帖子: 8486
- 注册时间: 2010-01-17 13:05
- 系统: ubuntu
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
地球小白表示kvm用不起啊 

- 鲍尔默
- 帖子: 162
- 注册时间: 2011-04-26 23:39
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
启动后再想办法合并,总会有些不尽如人意的!
启动一个虚拟机,然后直接 fork 虚拟机进程就高效多了!
启动一个虚拟机,然后直接 fork 虚拟机进程就高效多了!
-
- 帖子: 43
- 注册时间: 2011-12-13 19:55
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
kvm是会fork的,但是那是为了模拟 VCPU,鲍尔默 写了:启动后再想办法合并,总会有些不尽如人意的!
启动一个虚拟机,然后直接 fork 虚拟机进程就高效多了!
如有有很多台 KVM 虚拟机,不同的虚拟机所有者,
可能使用不同的虚拟盘,在里面安装不同的软件,运行不同的程序,
那样的kvm进程都是独立的哦~
-
- 帖子: 43
- 注册时间: 2011-12-13 19:55
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
其实不仅仅是KVM,系统当中只要有冗余的匿名映射的内存,它都能快速发现的哦到处看看 写了:地球小白表示kvm用不起啊

- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
内存我有大把,只是磁盘空间太紧!
-
- 帖子: 43
- 注册时间: 2011-12-13 19:55
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
自由建客 写了:内存我有大把,只是磁盘空间太紧!
空闲的内存是用作文件系统的缓存的哦,
只要你还是经常发现你会读盘,其实谁都不够,

当然了,我们这个补丁其实最明显的好处当然是有很多虚拟机的用户,比如云计算~
文件系统将来我们会往上做的,要能持续发展就好了~
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
xianai, 我有大把的内存,但很多软件就是爱同步写磁盘!比如 xpad,每点一次图标,它就要咔咔两下。gpicview,每次启动和关闭都要咔咔两下。还有很多软件都是如此。我都是把他们的配置目录链接到内存盘的,开机恢复,关机备份。
- rapistor
- 帖子: 1983
- 注册时间: 2009-01-19 15:09
- xjpvictor
- 帖子: 2837
- 注册时间: 2007-08-22 15:55
- 系统: Archlinux
- 来自: 新加坡
- 联系:
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
看着不错的样子
Entschuldigung. Ich habe keine ahnung.
Secure with PGP: gpg --recv-keys 0x68b6e3d8
Fingerprint: 5556 517C F52F E402 DDF5 5400 6D30 F13E 68B6 E3D8
Towards A Sustainable Earth: Print Only When Necessary
Secure with PGP: gpg --recv-keys 0x68b6e3d8
Fingerprint: 5556 517C F52F E402 DDF5 5400 6D30 F13E 68B6 E3D8
Towards A Sustainable Earth: Print Only When Necessary
- rapistor
- 帖子: 1983
- 注册时间: 2009-01-19 15:09
-
- 帖子: 43
- 注册时间: 2011-12-13 19:55
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
你说的对,其实理论上这个在文件缓存层面可实现(就是回写不回写的问题了),自由建客 写了:xianai, 我有大把的内存,但很多软件就是爱同步写磁盘!比如 xpad,每点一次图标,它就要咔咔两下。gpicview,每次启动和关闭都要咔咔两下。还有很多软件都是如此。我都是把他们的配置目录链接到内存盘的,开机恢复,关机备份。
但是目前Linux内核尚未有类似用户接口,也许将来我可以实现

不过现在实在是忙疯了

-
- 帖子: 39
- 注册时间: 2008-02-15 3:48
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
看了视频我觉得即使如此CPU占用还是太高了……没有什么性能调节的方法么?
和systemmonitor比CPU占有率……这简直就是欺负人家么~
高性能计算的话内存往往很便宜但时间和CPU就很昂贵了。UKSM能缩短时间么?另外你们团队发工资么?
另外这个算法的时间和空间复杂度是多少?以什么来衡量的啊?
和systemmonitor比CPU占有率……这简直就是欺负人家么~
高性能计算的话内存往往很便宜但时间和CPU就很昂贵了。UKSM能缩短时间么?另外你们团队发工资么?

另外这个算法的时间和空间复杂度是多少?以什么来衡量的啊?
呵呵 呵呵呵呵……
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM
这关内核鸟事,完全是应用程序自己的事。默认都是异步的,同步是需要刻意调用特别函数的。它们就是以为自己的数据特别重要,非同步写不可!xianai 写了:你说的对,其实理论上这个在文件缓存层面可实现(就是回写不回写的问题了),自由建客 写了:xianai, 我有大把的内存,但很多软件就是爱同步写磁盘!比如 xpad,每点一次图标,它就要咔咔两下。gpicview,每次启动和关闭都要咔咔两下。还有很多软件都是如此。我都是把他们的配置目录链接到内存盘的,开机恢复,关机备份。
但是目前Linux内核尚未有类似用户接口,也许将来我可以实现![]()
不过现在实在是忙疯了,俺们项目人手少,求组队~