我的M4.large实例以某种方式报告轻微被盗的CPU。 但是,如果我没记错的话。 它应该只发生在T2或M3系列实例上。
顶部 - 11:07:53最多24分钟,2个用户,平均负载:1.00,1.00,0.80 任务:总共89次,跑步2次,睡觉87次,停止0次,僵尸0次 Cpu0:29.0%us,62.6%sy,0.0%ni,8.0%id,0.1%wa,0.0%hi,0.0%si,0.3%st Cpu1:0.1%us,0.0%sy,0.0%ni,99.4%id,0.1%wa,0.0%hi,0.0%si,0.4%st $ lscpu -p #以下是可parsing的格式,可以将其input到其他格式 # 程式。 每列中的每个不同的项目都有一个唯一的ID #从零开始。 #CPU,核心,套接字,节点,, L1d,L1i,L2,L3 0,0,0,0,0,0,0,0 1,0,0,0,0,0,0,0
我正在使用taskset 1 dd if = / dev / zero = / dev / null,使CPU在vCPU 0上出现尖峰。
根据AWS文档,底层硬件使用:2.3 GHz IntelXeon®E5-2686 v4(Broadwell)处理器或2.4 GHz IntelXeon®E5-2676 v3(Haswell)处理器
它们都有两个逻辑核心每物理。
除M3.large之外,我注意到M4.xlarge也有这个问题,其中包括2个物理内核,因此4个vCPU。 我使用taskset命令在M4.xlarge上testing了它。 当vCPU在同一个内核上出现峰值,或者不同的时候,CPU被盗。
例如,vCPU0和vCPU2在Core0中共存。 当我在他们身上产生尖峰时,我可以奇迹般地看到vCPU1上被盗的CPU。
这是相当有线的。 请帮忙找出原因。 谢谢。
通常,随着虚拟机需求的变化,任何虚拟化基础架构都会发生CPU窃取。 CPU窃取是由另一台虚拟机从您的虚拟机中窃取周期 – 而不是由虚拟机中的不同内核。
鉴于亚马逊正在使用Xen(虽然是非常定制的)构build的Xen,CPU窃取在一定程度上是可以预料的,<1%是绝对预期的,不应该真正改变实例性能的特征。
此外,亚马逊明确指出,EC2实例被赋予ECU – 弹性计算单元 – 当针对特定的CPU进行基准testing(从旧的Xeon的内存开始)时,转换成一定数量的周期,所以仅仅因为给予了一定的CPU核心数量并不意味着您获得了这个数量的物理核心。