Hypervisor动态分配内存改善VM性能系列一:概述(下)

日期: 2013-06-05 作者:Stephen J. Bigelow翻译:李哲贤 来源:TechTarget中国 英文

Hypervisor动态分配内存改善VM性能系列一上半部分我们详细介绍了内存过量分配和动态内存技术,接下来让我们继续了解内存压缩和透明页共享技术。 内存压缩   数据压缩技术已经长期被使用,通过简短的符号来代替冗长数据实现减小文件大小的目的。在解压缩时,通过该符号借助指定的数学算法实现完整数据的恢复。尽管压缩技术在管理大量内存时由于系统开销过大难以实施,内存压缩技术从VMware ESX 4.1起已经作为页面交换文件的替代方案被实际采用。

  在传统页面交换文件方式下,服务器内存的页面可能被写入磁盘交换区以实现释放部分内存用于其它用途(例如被别的VM使用)。如果内存页面使用率不高(例如是不重要……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Hypervisor动态分配内存改善VM性能系列一上半部分我们详细介绍了内存过量分配和动态内存技术,接下来让我们继续了解内存压缩和透明页共享技术。

内存压缩

  数据压缩技术已经长期被使用,通过简短的符号来代替冗长数据实现减小文件大小的目的。在解压缩时,通过该符号借助指定的数学算法实现完整数据的恢复。尽管压缩技术在管理大量内存时由于系统开销过大难以实施,内存压缩技术从VMware ESX 4.1起已经作为页面交换文件的替代方案被实际采用。

  在传统页面交换文件方式下,服务器内存的页面可能被写入磁盘交换区以实现释放部分内存用于其它用途(例如被别的VM使用)。如果内存页面使用率不高(例如是不重要的或者作为不经常访问的工作负载指令入口),当它被移到磁盘时可能对VM性能影响不大,在需要的时候可以被重新从磁盘交换到内存中。带来的性能惩罚主要在于读/写磁盘页面文件时所需花费的时间。

  内存压缩技术背后是基于压缩需要交换的内存页面数据,然后把压缩的页面交换到内存中的保留区内(有时也称为压缩缓存),而不是磁盘。由于压缩的页面占用的空间要小得多达到释放内存,而且在内存中迁移数据要比访问磁盘快得多。当需要访问该页面时,只需简单地从内存交换区内解压缩并以非压缩数据的方式写回到内存中。

透明页共享

  在服务器运行多台VM时,很可能VM之间的某些内容是重复的。例如,某台服务器上的VM可能运行同样的OS、应用或数据。在传统虚拟化中,hypervisor的工作仅仅是简单地把内存空间分配给每台VM,不需要考虑内容的重复。但是,正如在存储设备中广泛采用的去重技术一样,可以消除存储中的冗余数据,VMware ESXi等hypervisor通过回收冗余内容占用的空间可以改善内存利用率,并且可以支持多台VM共享常用内存数据。

  TPS(Transparent page sharing 透明页共享)从原理上可以支持最多内存的超额认购。例如,假设10台VM每台都保留同样的12MB内存用于Windows Server 2012系统文件。总计就是120MB的冗余内存空间,TPS可以把空间占用减少到12MB大小,释放其余108MB空间可用于分配。

  TPS通过哈希值来定义每个内存页面标识出重复的内容并保留哈希表。如果特定页面的哈希值匹配(hypervisor以字节为单位比较),保留一个页面其余的重复页面被回收。因为VM不会看到重新映射的过程,而且操作系统也不会影响它,敏感数据在VM之间也不会泄露。如果VM尝试改变共享页面,它只需复制该页面并允许修改副本——高效地创建新的内存页面并避免不希望的改变发生会对其它使用共享数据的VM造成影响。

作者

Stephen J. Bigelow
Stephen J. Bigelow

数据中心和虚拟化网站的高级技术编辑,拥有20年的PC和技术写作经验。

翻译

李哲贤
李哲贤

TT虚拟化特约作者

相关推荐

  • 透明页共享的前世今生

    透明页共享会扫描主机上的所有虚拟机,识别相同的内存页。例如,如果你正在主机上运行Windows Server 2012的很多副本,那么该主机上很可能有很多重复的内存页,比如重复代码。

  • 内存压缩PK页面交换 解决内存问题谁更在行

    内存压缩技术是根据缓存机制变化而来的,它被用来解决由于没有足够时间访问磁盘而导致的内存过度分配问题。

  • 管理员应该掌握的内存管理技术

    如果你想要整合重复的文件,或者反之,你想要备份文件以防止出现错误,或者物理服务器需要从虚拟机收回一些内存,本文中的内存管理技术就可以为你提供解决方案。