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/
欢迎广大网友们使用,并反馈意见!

一个极其高效的虚拟机内存冗余消除机制:UKSM的更多相关文章

  1. Java虚拟机内存基础、垃圾收集算法及JVM优化

    1 JVM 简单结构图   1.1 类加载子系统与方法区 类加载子系统负责从文件系统或者网络中加载 Class 信息,加载的类信息存放于一块称 为方法区的内存空间.除了类的信息外,方法区中可能还会存放 ...

  2. java 虚拟机内存模型

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:[http://www.cnblogs.com/smyhvae/p/4748392.html] 文章来源:[http://www.cnblog ...

  3. 【JVM】01虚拟机内存模型

    学习链接:https://blog.csdn.net/u010425776/article/details/51170118 博主整理的条理清晰,在这里先感谢博主分享 去年看视频学习写过一篇JVM的博 ...

  4. 程序计数器(关于java虚拟机内存的那些事)

    <深入理解java虚拟机> 读书感悟 作者:淮左白衣 --------------写于2018年4月9日17:44:48 关于java虚拟机内存的那些事之程序计数器 关于java虚拟机内存 ...

  5. JVM 虚拟机 内存说明

    Java虚拟机所管理的内存图: 1程序计数器: 该模块作用是记录线程执行字节码的位置,记录程序执行状态,以便该线程下次获得CPU时继续执行.程序里的每个线程程序计数器相互独立,互不影响,该内存区也称“ ...

  6. java虚拟机内存区域的划分以及作用详解

    序言 为什么有时候学着学着会突然之间觉得一切度是那么无趣,男的每个月也有那么几天难道?哈哈,不然是什么,我还是要坚持,可以做少一点,但是不能什么度不做.总会过去的,加油 --WH 一.运行时数据区 什 ...

  7. Java虚拟机内存管理机制

    自动内存管理机制 Java虚拟机(JVM)在执行Java程序过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区 ...

  8. 设置TOMCAT的JVM虚拟机内存大小

    你知道如何设置TOMCAT的JVM虚拟机内存大小吗,这里和大家分享一下,JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存和最大内存在一定程度都会影响程序的性能. 设置 ...

  9. davlik虚拟机内存管理之一——内存分配

    转载自http://www.miui.com/thread-74715-1-1.html dalvik虚拟机是Google在Android平台上的Java虚拟机的实现,内存管理是dalvik虚拟机中的 ...

随机推荐

  1. GL_会计科目子模组追溯至总账分析(案例)

    2014-06-02 BaoXinjian

  2. Linux内核同步 - RCU基础

    一.前言 关于RCU的文档包括两份,一份讲基本的原理(也就是本文了),一份讲linux kernel中的实现.第二章描述了为何有RCU这种同步机制,特别是在cpu core数目不断递增的今天,一个性能 ...

  3. Linux内核同步 - 原子操作

    一.源由 我们的程序逻辑经常遇到这样的操作序列: 1.读一个位于memory中的变量的值到寄存器中 2.修改该变量的值(也就是修改寄存器中的值) 3.将寄存器中的数值写回memory中的变量值 如果这 ...

  4. poj 3735 Training little cats(构造矩阵)

    http://poj.org/problem?id=3735 大致题意: 有n仅仅猫,開始时每仅仅猫有花生0颗,现有一组操作,由以下三个中的k个操作组成: 1. g i 给i仅仅猫一颗花生米 2. e ...

  5. GDI+ 怎样将图片绘制成圆形的图片

    大概意思就是不生成新的图片,而是将图片转换为圆形图片. 实现代码例如以下: private Image CutEllipse(Image img, Rectangle rec, Size size) ...

  6. 深度学习图像标注工具VGG Image Annotator (VIA)使用教程

    VGG Image Annotator (VIA)是一款开源的图像标注工具,由Visual Geometry Group开发. 可以在线和离线使用,可标注矩形.圆.椭圆.多边形.点和线.标注完成后,可 ...

  7. mysql-cluster 环境安装&配置

    一.mysql-cluster 的介绍: 1.说心里话mysql-cluster这货性能上是不行的,之前一个同事测试了来的结果是8个主机组成的mysql-cluster性能 上搞不过一个单机的mysq ...

  8. 甲骨文关闭OpenSSO后,OpenAM成为其继续者

    消息来源:http://os.51cto.com/art/201003/190108.htm                                        OpenAM主页连接: ht ...

  9. vim设置文本宽度

    'textwidth' 'tw'        number  (default 0)                        local to buffer                   ...

  10. SVN清除,VS中SVN的错误以及全部替换

    是tortoisesvn吧?右键,设置,已保存数据,认证数据,清除 ======= <<<<<<< .mine ||||||| .r15 >>&g ...