如何避免VMware平台ESXi主机CPU使用率的“坑”
在实际运维中经常会遇到这样的情况,VMware虚拟化平台ESXi主机物理CPU及内存使用率较低,明明给了足够的CPU,但是用户还是感觉慢。
首先说一下CPU的利用率,CPU Ready这个参数,这个参数估计误导过很多虚拟化管理员,大家很容易理解为“CPU Ready”是指有多少空闲的CPU可以使用,“CPU Ready”越多越好。然而,事实完全相反,越多的“CPU Ready”,你的虚拟化平台性能越差。
CPU Ready的值指的是虚拟机就绪但无法获得物理 CPU 调度的时间百分比。CPU Ready的值越大,说明越多的虚拟机(或应用)要去运行但是没有可用的CPU资源去运行,这些虚拟机(或应用)只能等待CPU资源。
造成CPU Ready高的原因有哪些?
造成CPU使用率高的原因相对容易好找点,但是造成CPU Ready的原因确让人难以琢磨。事实上,造成CPU Ready高的原因主要有两个,一个是CPU超额分配严重,另外一个是设置了CPU限制。
CPU超额分配
造成CPUReady最主要的原因是在物理CPU上面运行的过多活跃的虚拟CPU(vCPU),一般情况向下,分配比pCPU更多的vCPU是非常正常和安全的,但是如果这个比率过高,ESXi调度程序在不影响性能的情况下执行其任务的难度就越大。vCPU/pCPU这个比率为多少的时候,CPU性能会达到最好,目前没有一个放之四海而皆准的规则。
CPU限制
如果在虚拟机资源设置中设置了 CPU 限制,则当虚拟机用尽其分配的 CPU 资源时,系统会有意保留该虚拟机,而防止其调度给 PCPU。如果设置了CPU限制,那么即使物理CPU处于空闲状态,也不会把资源分配给做了限制的虚拟机。默认进行虚拟机资源限制的级别比较高,所以即使有资源空闲,也不会违反限制规则。
Uila可以提供资源过供状况报告,可以看到各个虚机的CPU和内存的使用状况,CPU颗数、平均使用率、最高使用率以及建议减少或增加多少颗CPU,多少内存,这样就帮助管理员最直观的看到CPU和内存调整信息,避免CPU Ready和内存使用率过高。
邮箱 y.k@whpermanent.com
电话 027-87569272
地址 湖北省武汉市洪山区文化大道555号融创智谷A10-5
关注恒景
获取最新案例及解决方案
Copyright 2021 武汉恒景 All Rights Reserved. 鄂ICP备09021583号-1