为何在虚拟机里使用内存过量功能?

日期: 2009-12-02 翻译:沈之扬 来源:TechTarget中国 英文

  独立调研公司伯顿集团最近为服务器虚拟化技术发布了一套拟议中标准――有些是必要标准,有些是优先标准,有些是可选标准,旨在帮助IT人员了解宣传虚拟化产品的规格一览表之外的信息,市面上几种主流虚拟化产品包括EMC VMware的ESX、微软的Hyper-V和思杰的XenServer。VMware支持全部27项必要标准,支持大多数的优先标准和可选标准;Hyper-V支持其中24项必要标准,支持的优先标准和可选标准则比较少。

  补充说明:实际上,据伯顿集团制定这套标准的分析师Chris Wolf声称,Hyper-V其实满足27项必要标准中的25项,因为他能够对系统中心虚拟机管理器(SCVMM)成功地实现集群。Wolf拥有思杰技术专家(CTP)、微软虚拟化的最有价值专家(MVP)和VMware专家(vExpert)等多个头衔。

  最近我认真分析了伯顿集团的这些标准,实在让人过目难忘。这些标准长达70页,虽然在标准设定(必要、优先或可选)方面有一些地方有待争论,但覆盖了你能想象的客户要求解决方案具备的所有功能特性。我在仔细考虑了伯顿集团的建议后,越来越认为其中的一项优先标准:内存过量使用(memory overcommit)应当被认为是一项必要标准。眼下,只有VMware ESX满足这个条件。

  从表面上来看,“内存过量使用”这个术语让人有一种误解,因为过量使用似乎意味着过度利用资源。实际上,其想法是,即便没有物理内存来支持为系统配置的资源,也可以创建通常需要一定数量内存的多个虚拟机。基本上,借助内存过量使用技术,分配给物理主机上多个虚拟机的内存数量可以超过主机上的物理内存数量。这允许物理主机上可以有更大的虚拟机密度。Chris Wolf说:“我喜欢把这比作页面文件。Windows操作系统长期以来一直在使用页面文件,出于同样的目的(以便操作系统可以运行比物理资源通常”。

  举例说,如果你有20个虚拟机,每个虚拟机被分配4GB内存,但不常需要2GB以上的内存,如果你为创建的虚拟机分配足够的内存,就要往主机上添加40GB内存。有些虚拟机会使用较多的内存,另一些虚拟机会使用较少的内存;但你在监测了几个星期后,就能评估所用内存的平均量和峰值量,然后针对那些实际情况配置足够数量的内存。很有可能不需要分配足额的80GB。这就是理论上的过量使用。

  要是所有20个虚拟机都要求分配足额的内存量,会出现什么情况?这种可能性其实并不存在。因为VMware采用了一项名为透明页面共享的功能,让更多的虚拟机使用较少的内存――VMware还在虚拟机管理程序内核中采用了气球驱动程序(balloon driver)和经过优化的算法。想法很简单:每个虚拟机通常拥有多个虚拟机中都一样的页面(EXE和DLL页面);要是这些页面重复出现在所有虚拟机上,就会浪费物理内存。于是,VMware对这些共享页面只装入一次,从而减少了虚拟机来宾(guest)系统的内存要求。这与Windows中采用的方法如出一辙:多个应用程序调用一组通用的DLL,用不着多次把这些DLL装入内存。

  要考虑的另一方面是有些人所说的有好坏之分的内存过量使用。考虑了系统对性能的要求后,仍以上述场景:20个虚拟机每个被分配4GB内存为例,要是性能表明平均总共使用50GB内存、最多总共使用55GB内存,那么配置不到55GB的内存是一种坏的内存过量使用。如果你配置的内存少于最大的观察或预测使用量,就会迫使主机频频把内存页面换到磁盘上,这会严重影响性能。连那个最大内存使用量(这里是指55GB)也太紧张;对这种情况而言,60GB是一种比较合理的内存过量使用:既提供了你需要的内存、留出了一些余地,还为你节省了20GB内存。

  VMware声称,你很容易少浪费实际配置的内存量,因而其虚拟化产品的成本高于Hyper-V是有其道理的。较低的内存成本抵消了价格较贵的软件及过量使用功能。也许是这样――你可以分析一下哪些应用场景支持或反驳这种说法。

  成本不是本文要讨论的主要问题。由于担心内存过量使用会引起性能下降或其他问题,许多IT部门对内存过量使用避而远之。我觉得你大可不必为过量使用而担忧,而是应该把它看成资源共享。大多数系统无论如何不会用到全部可用内存。这是许多公司最初采用虚拟化技术的一大理由:减少所有那些运行单一实例的物理服务器上的资源浪费。所以,过量使用这个概念对虚拟化技术来说再自然不过了。它让你可以运用透明页面共享等成熟方法及其他技术,确保内存用到了最需要它的地方。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

相关推荐

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。

  • 推荐一款好的虚拟主机提供商

    推荐一款好的虚拟主机提供商 推荐理由:   第一:种类多:有经济型,全能型,功能型等   […]

  • 哪里的虚拟主机最便宜?

    鱼和熊掌不可兼得, 想要找即便宜又好用的虚拟谁有办法? 我来推荐一款,可以了解 新网云虚拟主机一年只要1元钱 […]