amazon-ec2 – 为什么ec2监控显示100%cpu和top只有20%?

我在ec2实例上运行python脚本,该实例在另一个实例上的数据库中插入行.在ec2的监控中,我看到了100%的cpu利用率,而top只显示了20%的python进程.顶部缺少什么?网络开销?
Amazon EC2等虚拟化环境中,top公开的数据通常不足或误导,报告的百分比取决于您的实例类型和底层处理器核心利用率(通常与您从虚拟机管理程序中呈现的虚拟化硬件不匹配),其他事情 – 你所看到的很可能是由于现在大多数相关的Unix / Linux监控工具所暴露的各自的CPU窃取时间造成的 – 参见eg列%steal或st in sar或top:

st — Steal Time
The amount of CPU ‘stolen’ from this virtual machine
by the hypervisor for other tasks (such as running another virtual
machine).

博客文章EC2 monitoring: the case of stolen CPU提供了一个很好的探索和插图这个主题:

When the top com­mand dis­plays 40% CPU busy but Cloud­Watch says the
server is maxed out at 100% — which side do you take? The answer is
sim­ple (Cloud­Watch is cor­rect, top is not) […]

请注意,这个虚拟机管理程序指标似乎(很容易)只能在Unix / Linux系统上访问,但在Windows上似乎没有可观察到的,请参阅我的问题Is there a Windows equivalent of Unix ‘CPU steal time’?以了解有关此问题的更多信息.

翻译自:https://serverfault.com/questions/400533/why-does-ec2-monitoring-show-100-cpu-and-top-only-20

转载注明原文:amazon-ec2 – 为什么ec2监控显示100%cpu和top只有20%?