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

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:

在此处输入图片描述

我有cpulimithttps://github.com/opsengine/cpulimit) 守护进程已安装 (如这里所述,适用于 Amazon Linux)。我使用的是微型实例,所以我使用 cpulimit(以避免节流)。因此,当我打开它时,CloudWatch 使用率会跳转到 40%,而 top/sar 报告 ±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 利用率对于微型实例毫无用处。

答案1

您只分配了一小部分 CPU。Sar 测量您对整个 CPU 的使用情况,而 cloudwatch 测量您对该部分 CPU 的使用情况。从图表来看,您分配了 0.075 个 CPU。

相关内容