免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2979 | 回复: 1

科普--ESX/ESXi 内存虚拟化 [复制链接]

论坛徽章:
0
发表于 2010-11-27 00:09 |显示全部楼层
内存虚拟化基本知识
在管理内存资源之前,应当了解 ESX/ESXi 是如何虚拟化和使用这些内存资源的。
VMkernel 管理所有的计算机内存。(一种例外情况是在 ESX 中分配给服务控制台的内存。)VMkernel 会将这种受管计算机内存的一部分拿来自己使用。剩余的内存可供虚拟机使用。虚拟机将计算机内存用于两个用途:
每个虚拟机均需要有自己的内存,且 VMM 需要一些内存和动态开销内存用于其代码和数据。
虚拟内存空间划分为块,每个块通常为 4 KB,块也称为页。物理内存也划分为块,每个块通常也是 4 KB。当物理内存占满时,不在物理内存中的虚拟页的数据将存储到磁盘上。ESX/ESXi 还提供对大页 (2 MB) 的支持。

虚拟机内存
每个虚拟机均会根据其配置大小消耗内存,还会消耗额外开销内存以用于虚拟化。


内存过载
对于每个正在运行的虚拟机,系统会为虚拟机的预留(如果有)和虚拟化开销预留物理内存。
由于 ESX/ESXi 主机使用内存管理技术,因此虚拟机可以使用的内存大于物理机(主机)可用的内存。例如,您有一个内存为 2 GB 的主机,其上运行四个虚拟机,每个虚拟机的内存为 1 GB。这种情况下,内存会过载。


过载有一定的意义,因为通常情况下有些虚拟机负载较轻,而有些虚拟机负载较重,相对活动水平会随着时间的推移而有所差异。


为了改善内存利用率,ESX/ESXi 主机将闲置虚拟机的内存转移给需要更多内存的虚拟机。使用“预留”或“份额”参数可优先向重要的虚拟机分配内存。如果这部分内存未使用,可以用于其他虚拟机。


内存共享
许多工作负载存在跨虚拟机共享内存的机会。
例如,几个虚拟机可能正在运行同一客户机操作系统的多个实例,加载了相同的应用程序或组件,或包含公用数据。ESX/ESXi 系统使用专用的分页共享技术安全地消除了内存页的冗余副本。


采用内存共享,由多个虚拟机组成的工作负载消耗的内存通常要少于其在物理机上运行时所需的内存。因此,系统可以高效地支持更高级别的过载。


内存共享保存的内存量取决于工作负载特性。许多几乎相同的虚拟机的工作负载可能释放 30% 以上的内存,而有较大差异的工作负载可以节省的内存少于 5%。


基于软件的内存虚拟化
ESX/ESXi 通过添加附加级别的地址转换来虚拟化客户机物理内存。


1 每个虚拟机的 VMM 保持了从客户机操作系统的物理内存页到基础计算机上物理内存页的映射。(VMware将基础主机物理页称为“计算机”页,将客户机操作系统的物理页称为“物理”页。)每个虚拟机均有连续的可寻址物理内存空间,该空间从零开始。每个虚拟机使用的服务器上的基础计算机内存不一定是连续的。


2 VMM 侦听对客户机操作系统内存管理结构进行操作的虚拟机指令,以便虚拟机不会直接更新处理器上的实际内存管理单元 (MMU)。


3 ESX/ESXi 主机将虚拟-计算机页映射保持在卷影页表中,该表与 VMM 所维护的物理-计算机映射保持同步。


4 卷影页表由处理器的分页硬件直接使用。

论坛徽章:
0
发表于 2010-12-08 13:49 |显示全部楼层
学而时习之
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP