EC2,top / sysstat和CloudWatch之间的巨大差异(涉及到cpulimit)

是的,我读到这是正常的,但在我的情况下,差距是巨大的,我不能解释它,只是看:

我跑了一会儿sar命令(最后一行):

 04:53:01 PM all 0.40 0.00 3.41 0.00 0.00 96.19 04:53:06 PM all 0.40 0.00 3.01 0.00 0.00 96.59 04:53:11 PM all 0.80 0.00 3.81 0.00 0.00 95.39 04:53:16 PM all 1.60 0.00 2.81 0.00 0.00 95.59 04:53:21 PM all 0.40 0.00 3.21 0.00 0.00 96.39 04:53:26 PM all 0.80 0.00 2.81 0.00 0.00 96.39 Average: all 0.76 0.00 2.97 0.01 0.01 96.25 

这是CloudWatch的同一时间:

在这里输入图像说明

我已经安装了cpulimit ( https://github.com/opsengine/cpulimit )守护程序( 如此处所述 ,适用于Amazon Linux)。 我正在使用微型实例,所以这就是为什么我使用cpulimit(以避免节stream)。 因此,当我打开CloudWatch时,CloudWatch使用率将跳至正好40%,而最高/最高值为±1%。 当我把它关掉的时候,CloudWatch的报告为±1%,top / sar也是。

这里有什么想法? 是小故障,还是我使用错误的工具(或错误的工具)?

编辑:我用这个奇妙的工具进行了一些实验,并得出相互的结果。 基本上CloudWatch CPU%与顶级CPU%没有线性关系。 这些是近似结果:

 Top% CW% Steal% 4% 40% 0% 10% 85% 0% 20% 100% 0% 50% 100% 30% 

最佳负载是20%,这正是这里所描述的 。 问题在于,它使CloudWatch CPU util在微型实例中无用。

你只被分配一个CPU的一小部分。 Sar会测量你对整个CPU的使用情况,而Cloudwatch会测量你使用的分数。 根据图表判断,你分配了一个CPU的0.075。