是的,我读到这是正常的,但就我而言,差异很大,我无法解释,只需看看:
我运行了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(以避免节流)。因此,当我打开它时,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。