我们有一台具有48 GB RAM的ESXi 4.1服务器。
对于每个VM,我们分配4GB的内存。由于服务器将具有13个虚拟机,因此我的经理认为这是错误的。
我将向他们解释ESXi实际上将管理内存本身,但是他们问我为ESXi服务器本身分配了多少内存。
我没有分配任何内存(我什至没有听说过为ESXi服务器本身分配内存的选项)。
如何为ESXi服务器分配内存?如何在虚拟机之间过度分配/分配RAM而不出现问题?
我们有一台具有48 GB RAM的ESXi 4.1服务器。
对于每个VM,我们分配4GB的内存。由于服务器将具有13个虚拟机,因此我的经理认为这是错误的。
我将向他们解释ESXi实际上将管理内存本身,但是他们问我为ESXi服务器本身分配了多少内存。
我没有分配任何内存(我什至没有听说过为ESXi服务器本身分配内存的选项)。
如何为ESXi服务器分配内存?如何在虚拟机之间过度分配/分配RAM而不出现问题?
Answers:
这里不仅有ESXi,还有很多其他问题,
内存分配和过量使用说明
请注意,系统管理程序不会预先分配所有内存,而是取决于VM的使用情况。但是,值得理解的是,如果VM尝试分配和使用分配给它们的所有内存,将会发生什么情况。
您的VM +主机将尝试使用的最大数量大约为55 GB,但 里程数可能会有所不同
还有一个方面要考虑,那就是内存阈值。默认情况下,VMware的目标是拥有6%的可用空间(高内存阈值)。因此需要将55 GB的已用内存减少到〜45GB
这意味着,如果VM使用已分配的内存,则主机将需要从某个地方回收大约10,500 MB的内存。ESX要做三件事,以发现额外的10.5 GB。
内存回收方法
您应该阅读并了解了解VMware®ESX™Server中的内存资源管理。
取决于大量因素,这三者的组合将/可能在过度承诺的主机上发生。您需要测试环境并监视这些指标,以了解过量提交的影响。
一些值得了解的粗略规则(在以上文章和其他来源中都有)。
在硬件辅助的内存虚拟化(例如,Intel EPT硬件辅助和AMD RVI硬件辅助[6])系统中,ESX将自动备份具有大型主机物理页面(2MB连续内存区域,而不是常规页面的4KB)的来宾物理页面。由于更少的TLB未命中率,因此性能更好。在这样的系统中,ESX将不会共享那些大页面,因为:1)发现两个具有相同内容的大页面的可能性很低,并且2)对2MB页面进行逐位比较的开销比4KB的页面。但是,ESX仍会为每个大页面中的4KB页面生成哈希。由于ESX不会交换大页面,因此在主机交换期间,大页面将被分解成小页面,以便这些预先生成的哈希值可以在交换小页面之前用于共享小页面。简而言之,在主机内存被过量使用之前,我们可能不会观察到硬件辅助内存虚拟化系统的任何页面共享。
接下来会出现热气球(阈值是可配置的,默认情况下这是主机的可用内存少于6%(在高和软件之间)的时间)。确保安装驱动程序,并通常注意Java和托管应用程序。操作系统对垃圾回收器下一步将无法做什么一无所知,最终将导致被交换到磁盘上的页面被点击。对于专门运行Java应用程序的服务器来说,完全禁用交换以确保不会发生交换是很常见的做法。 看看vSphere内存管理(SPECjbb)的第17页
管理程序交换,这三种方法是唯一可确保 “内存”在设定时间内可供管理程序使用的方法。如果1和2没有为其提供足够的内存以使其低于硬阈值(默认为2%可用内存),将使用此选项。仔细阅读性能指标(自己做)时,您会意识到这是三个指标中表现最差的。目的是避免它不惜一切代价作为对性能的影响将是非常noticable上几乎所有的应用程序两位数的百分比
还有一个状态需要注意的低(默认1%)。从手册中可以大大降低您的表现,
在极少数情况下,主机可用内存降到低阈值以下,系统管理程序将继续通过交换和内存压缩回收内存,并另外阻止消耗比目标内存分配更多的内存的所有虚拟机的执行。
摘要
压力的关键在于无法从白皮书中预测您的环境将如何运行。
测试您的平均场景,您的百分比场景是95%,最后是最大数量,以了解您的环境将如何运行。
编辑1
值得添加的是,使用vSphere 4(或4.1无法调用),现在可以将虚拟机监控程序交换放置在本地磁盘上,但仍可以虚拟化VM。如果您使用共享存储,则强烈建议您将虚拟机管理程序交换文件默认移动到本地磁盘上。这样可以确保当一台主机承受严重的内存压力时,它不会最终影响同一共享存储上的所有其他vSphere主机/ VM。
编辑2
根据评论,得出以下事实:ESX不会以粗体形式预先分配内存...
编辑3
解释了有关内存阈值的更多信息。
VMware(和其他虚拟化技术)根据各种算法在VM之间共享资源(内存,处理器时间,各种I / O)。
过度使用资源是有可能的,因为并非所有VM都会一直使用它们所需的所有处理,内存或I / O。 VMware的资源管理指南可能是阅读ESXi中可能的功能的最佳位置。
您还可以通过为不同资源的不同VM加权来管理算法的效果-例如,您可以为应用服务器VM分配比文件服务器VM更高的处理器加权。但是,开箱即用的设置将很好地满足大多数要求。在某些情况下,在这里进行一些配置足以使那些不太了解它的管理人员安心,但是当然要小心并阅读适用于您的VMware版本的文档并了解您的工作。如果您的经理不需要进一步处理,则只需使用默认值即可。
请注意,过度使用不一定总是一个好主意,特别是如果您已在单个服务器上虚拟化。您应该监视ESXi资产中对资源的使用,如果您经常消耗所有一种或多种资源,则在必要时添加其他主机/资源。
让您的VMWare ESXi安装处理它。由于VMWare系统使用内存膨胀,压缩和重复数据删除技术,因此您可能过量使用RAM资源。
如果虚拟机使用的是类似的操作系统,则可以节省一些费用。确保启用来宾VM内部的VMWare工具以充分利用这些功能。