再谈内存问题 如何区分内存共享和过量使用

日期: 2016-04-20 作者:Stephen J. Bigelow翻译:王学强 来源:TechTarget中国 英文

共享(sharing)和过量使用(overcommitment)这两种内存管理技术都能够帮助系统整合,但是在使用它们之前,管理员应该首先了解二者之间的细微差别。一台服务器能够支持的虚拟机数量通常取决于物理硬件所能够提供的可用计算资源。大多数资源,比如处理器周期、存储I/O和网络带宽等,都能够进行共享。这种做法的原理在于负载并不总是处于忙碌状态,因此共享或者过度使用资源能够实现更高等级的负载整合,就算在特殊情况下出现问题,也只不过是对负载性能产生轻微影响。

然而,服务器内存一直以来都被视为一种固定资源。由于每台运行在内存当中的虚拟机都是应用程序和数据集合的完整镜像,因此为所有虚拟机提供足够的内存资……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

共享(sharing)和过量使用(overcommitment)这两种内存管理技术都能够帮助系统整合,但是在使用它们之前,管理员应该首先了解二者之间的细微差别。
一台服务器能够支持的虚拟机数量通常取决于物理硬件所能够提供的可用计算资源。大多数资源,比如处理器周期、存储I/O和网络带宽等,都能够进行共享。这种做法的原理在于负载并不总是处于忙碌状态,因此共享或者过度使用资源能够实现更高等级的负载整合,就算在特殊情况下出现问题,也只不过是对负载性能产生轻微影响。
然而,服务器内存一直以来都被视为一种固定资源。由于每台运行在内存当中的虚拟机都是应用程序和数据集合的完整镜像,因此为所有虚拟机提供足够的内存资源是十分重要的。否则,服务器将不得不使用硬盘上的交换文件(swap file)来补充内存空间,但是通常这种方式会对虚拟机的性能造成极为严重的影响。但是随着内存过度使用和内存共享技术的出现,这种情况正在发生改变。
借助于内存过度使用技术,主机服务器所分配的内存数量可以超过现有的物理内存数量。比如,假设一台主机服务器拥有4GB物理内存,那么借助于内存过度使用技术也许可以创建六台内存为1GB的虚拟机。乍看之下,这是一种非常危险的方式,因为两种负载不能同时共享相同内存地址空间当中的不同数据片——至少在将数据交换到硬盘之前是不可以的。
但是设计者很快意识到许多虚拟机并不会使用为其分配的全部内存空间,导致部分内存空间基本上被浪费了,因为一直处于空闲或者未使用状态。Hypervisor能够寻找处于空闲状态的内存,并且将其提供给需要使用的虚拟机。如果没有其他虚拟机需要额外的内存,那么这些空闲空间可以被用来创建新的虚拟机。可以在“共享(Shares)”虚拟内存配置当中定义虚拟机在内存池当中的优先级,并且还可以通过“预留(Reservation)”机制定义虚拟机能够使用的最小内存空间,保证虚拟机拥有足够内存以正常运行。
虚拟机还能够共享大量内容。比如,上面提到的六台1GB内存虚拟机全部运行Windows Server 2012 R2,其中两台虚拟机运行相同的业务应用。那么在这种情况下,五台Windows Server 2012 R2和一个应用程序就是冗余的。内存共享技术允许不同虚拟机使用相同内存页面当中的一个通用实例。这样就能够减少虚拟机需要使用的内存总数量,并且支持更高等级的过度使用。内存共享技术的实现方式非常类似于硬盘存储当中的数据去重复化机制。
需要特别注意的是内存过度使用和内存共享都是高度动态的技术,会受到总计算负载和通用内容数量的影响。比如,很少使用的虚拟机能够为内存过度使用释放大量内存空间,但是随着虚拟机使用频率的增加和内存需求的增长,hypervisor必须将这些内存返还给虚拟机,否则就会面临使用硬盘交换文件所带来的性能问题。类似地,使用不同操作系统版本、应用程序和数据的虚拟机也许只有很少能够共享的通用内存页面。虚拟机迁移和负载均衡会改变通用内存页面,对内存共享产生影响。

作者

Stephen J. Bigelow
Stephen J. Bigelow

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

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐