在vSphere5.0中管理CPU资源,首先要正确理解与CPU资源相关的几个概念:插槽、内核以及vCPU。为便于大家理解,我们将虚拟机与物理服务器进行对比:虚拟机中插槽的概念与物理服务器的物理CPU类似,为虚拟机分配m个插槽,相当于为物理服务器配置了m颗物理CPU。内核是指每个插槽所包含的核心,为虚拟机每个插槽分配的核心数为n个,相当于物理服务器每颗物理CPU的核心数为n。在上述条件下虚拟机获得的vCPU个数为分配给的插槽数与每个插槽所包含的内核数的乘积,也就是m*n。
创建虚拟机分配vCPU 如下图1所示,在虚拟机创建向导中为某虚拟机分配的虚拟插槽数为2,每个虚拟插槽的内核数为4,那……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在vSphere5.0中管理CPU资源,首先要正确理解与CPU资源相关的几个概念:插槽、内核以及vCPU。为便于大家理解,我们将虚拟机与物理服务器进行对比:虚拟机中插槽的概念与物理服务器的物理CPU类似,为虚拟机分配m个插槽,相当于为物理服务器配置了m颗物理CPU。内核是指每个插槽所包含的核心,为虚拟机每个插槽分配的核心数为n个,相当于物理服务器每颗物理CPU的核心数为n。在上述条件下虚拟机获得的vCPU个数为分配给的插槽数与每个插槽所包含的内核数的乘积,也就是m*n。
创建虚拟机分配vCPU
如下图1所示,在虚拟机创建向导中为某虚拟机分配的虚拟插槽数为2,每个虚拟插槽的内核数为4,那么该虚拟机的内核总数为2*4=8.
图1.创建虚拟机时选择虚拟CPU(vCPU)数量。
为虚拟机分配CPU资源
因为在一台ESXi主机上可以运行多个虚拟机,所以为虚拟机分配的CPU资源是与运行在同一台ESXi主机上的所有虚拟机之间进行共享的。在《VMware vSphere 5.0资源管理六部分》一文中,我们了解到与CPU资源管理相关的三个参数是份额(share)、预留(reservation)以及限制(limit)。这三个参数的默认设置如下图2所示。
图2. 为虚拟机分配CPU资源
份额为正常,说明与同一ESXi主机关联的所有虚拟机都将在每个vCPU 上收到相同份额的 CPU。换句话说单处理器虚拟机分配到的资源只有双处理器虚拟机的一半。既然是这样,那么为虚拟机分配多个vCPU是不是有利于提高其性能呢?这要视情况而定。比如在单处理器虚拟机(非 SMP 虚拟机)上部署单线程应用程序可获得最佳的性能和资源利用率。因为单线程应用程序只能利用单个 CPU。在双处理器虚拟机中部署这些应用程序不会加快应用程序的速度。相反,这样会使得第二个vCPU 使用本该由其他虚拟机以其他方式使用的物理资源。
预留为0MHz说明不为该虚拟机预留任何资源,没有设置限制说明虚拟机可以最大化使用ESXi主机的CPU资源。
完成上述两个步骤的设置后,ESXi主机的CPU调度程序将负责把所有虚拟机的CPU负载分配到所有的物理服务器CPU插槽中,通过最大化可供正在运行的虚拟 CPU 使用的缓存总量来改善性能。
启用超线程技术
超线程技术允许单个物理处理器内核像两个逻辑处理器一样工作。处理器可以同时运行两个独立的应用程序。如果ESXi主机所使用的Intel CPU插槽支持超线程技术,那么通过虚拟机属性的“资源”选项卡下的“高级CPU属性”可以设置超线程内核的共享模式(图3)。
图3. 设置虚拟机超线程内核共享模式以及关联性
超线程内核共享支持三种模式,即“任意”,“无”和“内部”,其含义如下:
任意:虚拟机的vCPU 可与该虚拟机或任何其他虚拟机的其他vCPU 随时共享内核,为超线程系统上所有虚拟机的默认设置。
无:虚拟机的vCPU 不应彼此共享内核,或不应与其他虚拟机的vCPU 共享内核。即,该虚拟机的每个vCPU 本身始终应获得完整的内核,而该内核上的另一个逻辑 CPU则置于暂停状况。
内部:与将超线程内核共享设置为“无”类似。虚拟机的vCPU 不能与其他虚拟机的vCPU 共享内核。这些vCPU 可以与同一虚拟机的其他vCPU 共享内核。
超线程内核共享模式的具体设置与应用的具体情况和虚拟机的vCPU数量有关。例如,对于与超线程交互不良的工作负载,可以将运行该应用程序的虚拟机置于“无”或“内部”超线程状态,以将其与其他虚拟机隔离开。但是当虚拟机的内核数量有限时,将超线程内核共享支持模式设置为“无”或“内部”可能会降低虚拟机的性能。
设置CPU关联性(CPU affinity)
如上图3所示,我们还可以在高级CPU选项中设置虚拟机的CPU关联性。通过为虚拟机设置 CPU 关联性,可以实现该虚拟机固定使用一个或多个物理CPU资源的目的。但在多处理器系统中,ESXi 主机将执行自动负载平衡,所以建议避免手动指定虚拟机关联性,以改进调度程序跨处理器平衡负载的能力。所以除非特殊要求,建议取消对CPU关联性的设置。
至此,在vSphere 5.0中为虚拟机配置CPU资源的相关设置就基本完成了,下一篇文章中将介绍如何管理内存资源。
相关推荐
-
请教技术问题,麻烦你们了!
我公司一台使用vmware vsphere5.0的服务器,服务器有块物理网卡,现在只用一块并设置为trunki […]