ESXi主机管理内存资源的方式

因为内存通常是最有限的资源,ESXi采用内存过量配置(Memory overcommitment,即配置后的虚拟机内存可能超过物理内存(RAM))对内存进行管理。使用内存过量配置时,ESXi必须使用技术从一个或多个VM中回收内存,这些技术被称为:透明页面共享(Transparent Page Sharing,TPS)、气球(ballooning)、交换(swap)和内存压缩(Memory compression)。

1、  透明页面共享

ESXi主机运行相同操作系统的VM时,保存一个可能相同的内存页面,释放相同其它重复的页面。这一过程对OS完全透明,并不知道自己和其它VM共享一个相同的内存页面。

2、 气球

从运行的VM中取得不需要的内存,并将其分配给其它需要内存资源的VM。在生产环境中,系统正常运行工作时,需要的内存很少,而启动时分配的内存远大于正常工作时所需的内存,从而造成大量的内存资源未使用(称为闲置内存,idle memory),并很少使用。因为内存是共享的,因此可以收回供其它VM使用。

此时出现一个问题,ESXi怎么确定在使用气球技术回收内存资源时,哪个VM会释放内存呢?

共享(share)解决了这一难题。共享定义了VM的优先级,有4个级别:低、中、高和自定义(使用1:2:4比例或自定义比例)。ESXi主机优先从共享级别低的VM中回收内存,给共享级别高的VM使用。

此时,又出现了另一个问题:优先级设置比较高的VM可能积累一些或大量内存未使用,而优先级设置比较低的VM需要使用大量活动内存,由于共享并未规定使用活动内存的标准,因此,优先级设置比较低的VM将受到惩罚。

我们可以有一个思路:无论VM的共享优先级是什么,优先回收空闲的内存。这种思路就是ESXi的闲置内存税(idle memory tax)。默认情况下,闲置内存税参数被设置为75%,即回收闲置内存的75%。闲置内存税赋予ESXi主机使用内存页面的样本概率方法进行内存回收。每个VM都在一个可设置的时间间隔内单独采样,默认情况下,ESXi每30秒采样100个页面。

3、 交换

气球技术的全面性,保证了能够高效回收内存,但是此时出现一个问题需要解决,就是内存资源全部都在使用中,这样就无法回收内存资源。

当VM启动时,创建一个扩展名为.vswp的交换文件。只有能够创建和访问这个文件时才能启动VM(这意味着应该注意可用的存储空间)。

ESXi主机使用交换文件是为了防止出现使用内存过量配置但气球驱动程序无法从其它VM回收内存的情况。在这种情况下,ESXi使用磁盘作为内存。但是这个技术可能永远不会使用,因为磁盘访问会大大影响性能。交换的唯一好处就是内存不足的时候VM不会崩溃。

注意:硬盘访问时间是以毫秒(ms,千分之一秒)计算,而内存访问时间以纳秒(ns,十亿分之一)计算,两者相差100万倍。因此交换技术应该不会永远使用。

4、 内存压缩

内存压缩的原理是将要交换的页以压缩的形式存储在被保护的内存空间中,当系统访问该页引起缺页时,系统会内存中找到该被压缩的页,并将其解压缩后供系统使用。内存压缩在系统存储层次中逻辑地加入了一层:内存压缩层,因此,可以说内存压缩层是虚拟化管理器决定硬盘上交换页面的中间层。

对压缩内存的访问快于硬盘访问,没有太多的性能损失。当一个虚拟页面必须交换时,ESXi首先试图在2KB或者更小的块上面压缩。

这是本人写的第一篇关于虚拟化的博客,也是第一次写博客,有不足之出希望大家多多斧正指教。

时间: 2024-10-12 16:01:34

ESXi主机管理内存资源的方式的相关文章

存储与虚拟主机管理,克隆虚拟机的详细讲解

存储与虚拟主机管理 本章的重点了解及部署vmotion迁移,迁移前需要准备外部存储网络,本章将围绕这几个点进行讲解以及部署openfiler和vmotion进行迁移 esxi存储是虚拟化平台的基础,分为本地存储和外部存储. 1)本地存储: DSA 直接附加存储 不需要通过网络进行访问 主机可以直接在本地访问,其他主机不能进行访问,不能使用IDE/ATA或USB驱动器来存储虚拟机,上面的数据只能被一台esxi主机访问 2)外部共享存储: ① 光纤 (FC) SAN 又称hdb卡 网络存储 ② IP

查看Linux内存资源

一.通过fre -m查看当前机器使用内存资源状况 1.查看free -m执行结果 2.命令输出说明 第一部分Mem行: total 内存总数: 482M used 已经使用的内存数: 411M free 空闲的内存数: 71M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 22M cached Page 缓存内存数:291M 关系:total(482M) = used(411M) + free(71M) 第二部分(-/+ buffers/cache): (-

《一个销售的VMWARE学习系列之三:在ESXI主机上安装WINDOWS虚拟机》

上一篇文章已经学会了怎样安装ESXI主机啦,那下面我们就要学,如何在ESXI主机上安装WINDOWS虚拟机啦:ESXI主机是基于LINUX内核啊!是不是要写命令创建WINDOWS虚拟机呢,哈!这个不用担心,VMWARE提供了vSphere Client 管理工具,而且必须使用才能创建虚拟机啊,你想写命令都不行啊. 1.首先,我们找一台客户机安装vSphere Client 管理工具先,选择"中文",确定安装,如下: 2.安装步骤都是一直"下一步"就可以啦,安装完成后

vSphere部署系列之07——vCenter管理ESXi主机

在前面的博文章节中,已安装配置了esxi-mgt.esxi01.esxi02三台ESXi物理主机,并在esxi-mgt(10.1.241.20)主机中的虚拟机里部署了vCenter环境.接下来的要做的是将esxi01(10.1.241.21).esxi02(10.1.241.22)两台主机,加入到vCenter中,以接受vCenter的管理. 实验环境总体规划,请见前面的博文<vSphere部署系列之03--实验环境总体规划>. ▲总体规划网络拓扑图 一.前期工作 初次登录vCenter,需要

windows 内存管理的几种方式及其优缺点

windows 内存管理方式主要分为:页式管理,段式管理,段页式管理. 页式管理的基本原理是将各进程的虚拟空间划分为若干个长度相等的页:页式管理把内存空间按照页的大小划分成片或者页面,然后把页式虚拟地址与内存地址建立一一对应的页表:并用相应的硬件地址变换机构来解决离散地址变换问题.页式管理采用请求调页或预调页技术来实现内外存存储器的统一管理.其优点是没有外碎片,每个内碎片不超过页的大小.缺点是,程序全部装入内存,要求有相应的硬件支持.例如地址变换机构缺页中断的产生和选择淘汰页面等都要求有相应的硬

利用vCenter Server对ESXi主机的管理

安装完了vCenter Server后,就可以对多台ESXi主机进行集中管理了,下面进行具体的讲解. 首先要用VMware Client连接vCenter Server,这里我们以如下为例(备注:vCenter ServerIP地址为10.128.114.214)如图: 初次连接时会弹出如下的警告,关于这个问题,我们在VMware Client与ESXi主机通信时,已经讲解过了,这里不再重复了,如图: 连接到vCenter Server后,首先要创建数据中心,截图如下: 创建完数据中心后,我们就

oracle 11g rac 笔记(VMware 和esxi主机都可以使用)

这个只是笔记,防止丢失,没事见整理 在vmware安装目录 创建磁盘: vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 D:\VMWARE\racsharedisk\ocr.vmdk vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 D:\VMWARE\racsharedisk\ocr2.vmdk vmware-vdiskmanager.exe -c -s 1000Mb -a l

Android最佳性能实践(一)——合理管理内存

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/42238627 内存(RAM)对于任何一个软件开发环境都是种非常珍贵的资源,而对于移动操作系统来讲的话,则会显得更加珍贵,因为手机的硬件条件相对于PC毕竟是比较落后的.尽管Android系统的虚拟机拥有自动回收垃圾的机制,但这并不代表我们就可以忽视应该在什么时候分配和释放内存. 为了使垃圾回收器可以正常释放程序所占用的内存,在编写代码的时候就一定要注意尽量避免出现内存泄漏的情况(通

如何在一台ESXi主机上搭建一整套VSAN集群的环境

从上周起,我开始翻译一本新书.IT类中文书籍的翻译往往有一个术语的问题,如何选择最准确的中文术语,让读者清楚明白而且在实际操作和配置的时候不至于误解,是一件不那么容易的事情.一个简单的例子就是cluster,中文可以译作"集群"或者"群集".这两者本身都广为使用,而且是完全相同的意思.我查了一下中文亚马逊书店,136本IT类中文图书用了"集群",29本用了"群集".看上去"集群"更为普及一些,而且我本人也习