在负载很重的ESX服务器上,是否会在访客虚拟机上产生CPU峰值?

因此,我们在ESX 4.1服务器上运行了许多虚拟机,以进行产品testing。 ESX Server有时处于沉重的负载之下。 在某些使用情况下,我们遇到了很高的CPU水平,但是我们不能总是重复这一点。 如果整个ESX服务器负载过重,这会导致客户机显示较高的CPU使用率?

要问一个不同的方式,如果客户机需要比服务器更多的cpu资源,那么这是如何影响CPU使用情况的?

性能故障排除指南是ESX性能技巧的标准来源之一! (PDF)

简而言之:如果你的主机很忙,而你的虚拟机报告一个高的“准备时间”(这是虚拟机准备好执行工作的计数器,但是没有物理CPU可以被计算机安排虚拟机pipe理程序),那么您遇到的症状并不是访客内CPU使用率很高,而是各个虚拟机没有足够的物理CPU时间来处理其工作负载。 这可以像在高CPU使用情况下一样显示在客户机中,但是这仅仅是客户正在做的一个会计错误,因为它不知道虚拟化本身。

因此,检查准备好的时间,如果确实很高,find一种方法来添加更多的物理CPU到你的机器/集群或减less使用。

客户机内CPU监控有可能在机器处于空闲状态时以及在繁忙时发生歪斜。 在一种情况下,空闲进程不由pipe理程序调度。 另一方面,许多机器的高度使用会导致一些机器不能使用cpu,因此不能在没有额外的pipe理程序级监控的情况下使用来宾级监控。

客户内部的CPU监控是一个坏主意,任何客户都不可能真正知道在任何pipe理程序上花费了多lessCPU时间,唯一真正的方法就是通过pipe理程序向外看。 所以是的,一个非常繁忙的虚拟机pipe理程序可以很容易地使用一个客户机内CPU使用率的方式来决定是否 – 只是不要相信这些数字。