我知道我可以testing这个,但是现在我没有时间去设置原始的testing条件来学习应该以文件formslogging的东西,而且我也不能以权威的formsfind。
我认为在一个虚拟机上消耗的CPU百分比是相对于分配给虚拟机的CPU总数,并且主机上的空闲CPU周期被平均分配给主机中所有正在运行的虚拟机。
因此,如果主机上有2个虚拟机,其中VM1消耗50%的主机CPU容量, VM2消耗10%的主机CPU容量。 所以有40% CPU容量可以分配到正在运行的虚拟机中。
VM1 sees一个CPU潜力70%的总主机CPU( 50%实际CPU消耗+ 20% – 或20%的备用周期)。 所以VM1loggingCPU消耗71.42% ( 50%实际/ 70%分配总计* 100 = 71.42%和28% CPU免费。
VM2 sees CPU潜在性30%整个主机CPU的30% ( 10%实际CPU消耗+ 20% – 或另一半的备用周期)。 所以, VM2的 CPU消耗分别为33.333%和33.333% 。
停止任何一个虚拟机应该立即增加备用CPU到另一个可用,这应该显示为另一个的CPU消耗的下降。
对或错? 如果是假,我不明白什么?
你已经在这里使用了一些标签,看来你正在寻找一个通用的答案。 这可能是不可能的:KVM和Vmware的处理方式不同。
在ESXi中,CPU使用两种方法分配给虚拟机:
一个CPU内核可以使用达到物理内核的速度 ,或MHz限制,以较低者为准。
ESXiloggingVM使用的MHz数量。 如果它是多核的话,它将拥有更多的空间。 但是,单线程性能永远不会超过单个物理内核性能的速度。
在虚拟机本身内部,它会看到分配给它的尽可能多的内核,并根据它来计算性能。
看起来你感觉到“当虚拟机超额计算时,CPU消耗指标看起来如何”的问题。
对于ESXi,这是如何工作的:
主机:
VM1&2:
这是超过50%的超额认购。
鉴于VM1正在使用其分配的资源的50%,VMware将报告消耗4350 MHz,VM中的CPU监视器将使用50%。 对于使用10%分配资源的VM2,VMware将报告870 MHz的消耗,虚拟机将使用10%。
总之,虚拟机不会互相注意。
现在是真正的过度使用情况。 添加第三个虚拟机,configuration与其他两个相同,并假设所有三个正试图使用其CPU分配的50%。 我们有三个虚拟机试图使用13050 MHz,但只有1160MHz左右。 这是如何工作的,它是如何performance的?
再说一次,对于ESXi来说,它会使虚拟机的时钟频率降低,这样他们就可以使用更less的实际CPU周期。 他们实际上每个8700MHz的分配使用3800MHz,因此会报告43%的使用率。
我认为在一个虚拟机上消耗的CPU百分比是相对于分配给虚拟机的CPU总数,并且主机上的空闲CPU周期被平均分配给主机中所有正在运行的虚拟机。
不,不一定。 第一部分是正确的,但非愚蠢的虚拟机主机可以优先考虑虚拟机,所以分配可能相等,也可能不相等。
对或错?
假。
虚拟机上的100%cpu是可以使用的任何分片,因为您在虚拟机中看到的CPU消耗是在虚拟机中测得的:
当虚拟机closures时,有更多的可用。 理所当然的。
但是,这是否会导致虚拟机上的CPU使用率较低,或者只是任务更快完成(而使用率保持在100%)取决于您的软件。 如果你是CPU绑定,你可以把更大的分配使用。 如果你不是CPU绑定,你会看到一个下降,因为你使用较less的“可用”切片。