vmware 资源管理-1

内存虚拟化基本概念

把内存层级分三个层级
vmware 资源管理-1_第1张图片

  • 客户操作系统虚拟内存由操作系统呈现给应用程序(不是真实的物理内存)
  • 客户操作系统物理内存由vmkernel提供给虚拟机,这个内存空间具有与客户操作系统提供给应用程序的虚拟内存地址空间相同的属性。真实的物理内存,虚拟机实际开销的物理内存(VMM欺骗虚拟机 以最小的内存运行最多的虚拟机 内存回收)
  • 由vmkernel管理的主机内存提供了一个连续的,可寻址的内存空间,供虚拟机使用,这个内存空间允许VMkernel同时运行多个VM,同时保护每个VM的内存不被其他访问。

操作系统识别内存的两个条件

  1. 内存地址页从0开始(物理机上0刻度只有一个)
  2. 要求内存地址空间应该是连续的 这样才能欺骗操作系统
    从应用程序的角度来看,vmkernel增加了额外的地址转换,将操作系统的物理地址映射到主机物理地址,(有个映射关系)

超分配

vmware 资源管理-1_第2张图片
当所有已打开电源的虚拟机(开机状态下的时候才会去消耗宿主机的计算资源)组合配置内存占用超过主机内存大小时,内存将被过度使用
物理机只有4 分配出去8G

  1. VM并不总是使用他们全部分配的内存
  2. 为了提高内存使用,ESXi主机将内存从空闲VM传输到需要更多内存的VM
  3. 过度提交的内存存储在.vswp文件中
  4. 内存开销存储在vmx-.vswp 文件中
    您可以有一个32 GB内存的主机,并运行4个各有10 GB内存的vm。在这种情况下,内存过度使用。如果所有4个vm都是空闲的,那么总共消耗的内存低于32 GB。但是,如果所有vm都在积极地消耗内存,那么它们的内存占用可能超过32gb, ESXi主机就会过度使用。如果vm消耗了过度使用内存环境中所有可保留的内存,则ESXi主机可能会耗尽内存。尽管打开的VM没有受到影响,但是新VM可能因为内存不足而无法打开。超分是有意义的,因为通常,一些vm的负载比较轻,而另一些vm的负载比较重,并且相对活动水平随时间而变化。主机上的内存超量使用vmx-
    。vswp交换文件来收集和跟踪内存开销。当主机内存被过度使用时,此文件中的内存将被交换到磁盘。

内存回收技术

产生内存回收 ,如果内存少于百分之六 ,认为没有办法满足内存要求,就会发生内存回收

  1. 节约物理内存页的使用 透明共享页(TPS) 让内容相同的内存页只做一次存储(映射到同一个物理内存地址)
    数据内容相同的页面只存储一次 做到相同的内存地址空间里面去 客户OS物理内存页面和客户OS虚拟内存页面有些是完全相同的,帮助我们最大限度节省物理内存,把大话提升主机资源利用率

  2. 内存从一台释放到另一台 ,气泡机制,有些利用率很高,有些很低,需要安装vmware tools里面有驱动程序 气球驱动会向操作系统申请资源(在操作系统当中驱动的优先级是最高的,那如果一部分被气球驱动拿走之后,操作系统的应用程序可能会不够用,那么这时候就需要交换文件,应用程序的内存需要去磁盘中获取)
    vmware 资源管理-1_第3张图片

  3. 内存征用的时候 内存压缩(compression)技术恢复内存性能 为了避免把磁盘当作内存使用(将要被swapped Out 的页面在执行之前线在compression cache空间里(分散于每一台虚拟机的物理内存部分)执行一次压缩,从而实现空间的节省,这些压缩页面要被重新访问时,则会执行一次解压缩,这个过程的发生,并不在存储或磁盘上,因此总体性能的影响上并不大)

  4. 主机级别SSD内存交换 在我们内存空间里面 内存性能远高于磁盘 内存里面有一部分是很少被用到的 冷数据 可以把它转移到外部(SSD,在主机上使用SSD作为主机缓存交换文件会提高性能) 建立映射关系 如果放到普通磁盘的时候 性能较低 如果是SSD里面 性能会提升(相当于给每台VMs额外再配备了一个内存缓存区)

  5. 把虚拟机的内存分页到磁盘里面去
    放到普通磁盘 性能比较低 不得已之选

CPU虚拟化

使用多核虚拟CPU支持,您可以控制虚拟机中每个虚拟插槽的内核数量。
vmware 资源管理-1_第4张图片
Socket:物理cpu插槽的意思
可以是
单核双线程
双核单插槽
四核单核插槽
你可以配置最多256个vcpu的虚拟机

超线程

一个内核可以实现两个线程或一组指令
程序调度的时候可以提供更多的吞吐量 ,也就是说,超线程提供了更多的逻辑cpu,可以在这些逻辑cpu上调度vcpu。
默认情况下是开启的
要满足的条件
1, 验证主机是不是支持超线程
2, BIOS里面去开起来
3, 确保主机本身超线程是打开的,使用vSphere客户端来确保您的主机的超线程是打开的
超线程的缺点是它的能力不是核心的两倍。因此,如果两个执行线程同时需要相同的片上资源,则一个线程必须等待。

vmware 资源管理-1_第5张图片
VMkernel平衡处理器时间,以确保负载在系统中平稳地跨处理器核心分布。
VMkernel智能地管理处理器时间,保证负载在系统中平稳地分布在各个处理器内核上。每隔2到40毫秒(取决于socket-core-thread拓扑结构),VMkernel就会试图将vcpu从一个逻辑处理器迁移到另一个逻辑处理器,以保持负载平衡。
vmware 资源管理-1_第6张图片
除了为VM配置的CPU和内存外,您还可以将资源分配设置应用到VM,以控制授予的资源数量:

  • 预留:指定为虚拟机启动所需的最少资源
  • 限制:可以为分配到虚拟机的CPU,内存或存储I/0资源指定上限
  • 份额:虚拟机的相对重要性 通常指定为高,正常或低,这些值将分别按4:2:1的比例指定份额值
    中间的份额用于在此范围内征用资源 共享

RAM预留
预留给VM的内存保证永远不会交换或用于气泡,如果ESXi主机没有足够的
如果ESXi主机没有足够的不是预留的RAM来支持预留的VM,则VM将不启动。
预留以MB、GB和orTB为单位。
默认为0 MB。
向VM中添加vSphere DirectPath I/O设备(直接访问硬件存储,绕过vmkernel)会将内存保留设置为VM的内存大小。

CPU预留
为VM预留的CPU保证在物理核心上被立即调度。VM从来没有处于CPU就绪状态。
如果ESXi主机没有足够的未保留CPU来支持保留的VM,那么VM就不会启动。
预留以MHz或GHZ测量。
默认为0 MHz。

资源分配的限制

RAM 限制:
Vm消耗的物理内存不会超过内存分配限制
如果操作系统试图消耗的内存超过了限制的内存 ,VM可能会使用VM交换机制

CPU限制:
VM消耗的物理CPU不会超过CPU分配限制
如果操作系统试图以超过限制的速度调度线程,则将CPU线程置于就绪状态
通常没有必要指定限制

•好处:如果您从少量的vm开始,并且希望管理用户的期望,那么分配限制是很有用的。当您添加更多的vm时,性能会下降。您可以通过指定限制来模拟拥有更少的可用资源。

•缺点:如果指定了限制,可能会浪费空闲资源。系统不允许vm使用超过限制的资源,即使系统未被充分使用且可用的资源是空闲的。只有当你有充分的理由这样做时,才指定限制。

共享定义了VM的相对重要性:

如果一个VM共享的资源是另一个VM的两倍,那么当这两个VM竞争时,它有权消耗两倍的资源
●共享值仅适用于ESXi主机对资源的争用。
您可以将股票设置为高、正常或低。您还可以选择自定义设置来为每个VM分配特定数量的共享。
虚拟机是资源的消费者。在创建过程中分配的默认资源设置对大多数计算机都有效。
vmware 资源管理-1_第7张图片
比例共享机制适用于CPU、内存、存储I/O和网络I/O分配。该机制仅在vm争用同一资源时才起作用。
您可以在VM运行时将共享添加到VM中,并且VM可以获得对该资源的更多访问权(假设存在资源竞争)。当您添加VM时,它也会获得共享。VM的共享数量会影响到共享的总数,但是现有的VM保证不会因为资源而停机。
共享保证一个VM有一定数量的资源(CPU、RAM、存储I/O或网络I/O)。
例如,考虑幻灯片上的第三行VM:
•VM D启用了1000个共享
•在VM D启动之前,共有5000权重可用,但VM D的添加使总份额增加到6000股。
•结果是其他vm的权重下降。但是每个虚拟机的共享价值仍然代表一个最小的保证。VM A仍然拥有1 / 6的资源,因为它拥有1 / 6的权重。
当您删除或关闭VM时,剩余的总共享更少,因此幸存的VM可以获得更多的访问权

为VM (VMware)定义资源分配设置:

遵循以下最佳实践来优化您的vSphere基础架构
1。要完整地查看虚拟机的性能情况,请在来宾操作系统和vCenter服务器中使用监视工具。在进行更改之前记录基准测试。

  1. 确定虚拟机最依赖的资源。如果虚拟机受到该资源的约束,那么该资源最有可能影响虚拟机的性能。

3.给虚拟机更多的资源或减少其他虚拟机的资源。减少资源征用

  1. 在将更多有限的资源提供给虚拟机之后,进行另一个基准测试并记录更改。

在对生产系统进行更改时要格外小心,因为更改可能会对虚拟机的性能产生负面影响。

你可能感兴趣的:(vmware 资源管理-1)