为什么ec2监控显示100%的cpu而仅显示20%的最高?


10

我在ec2实例上运行python脚本,该脚本在另一实例上的数据库中插入行。在ec2的监控中,我看到了100%的cpu利用率,而top仅显示了python进程的20%。顶部缺少什么?网络开销?


那么其他所有流程呢?
Ladadadada 2012年

利用率约为0%
RickyA 2012年

我也处于困境,我将我的TOP命令reprot发送给客户端:)
Manish Shrivastava

Answers:


18

topAmazon EC2之类的虚拟化环境中,所暴露的数据通常不足或具有误导性,并且所报告的百分比取决于您的实例类型和底层处理器核心利用率(通常与从虚拟机管理程序提供的虚拟化硬件不匹配)。其他事情-您所看到的很可能是由于当今大多数相关的Unix / Linux监视工具中暴露的CPU占用时间造成的-请参见例如列%steal或st in sartop

st-窃取时间
虚拟机管理程序从此虚拟机“偷”用于其他任务(例如运行其他虚拟机)的CPU数量。

博客文章EC2监视:CPU被盗的情况很好地探讨了该主题,并提供了示例:

当top命令显示40%的CPU繁忙,但是CloudWatch说服务器已达到100%的最大负荷时–您会选择哪一边?答案很简单(CloudWatch是正确的,顶部不是)[...]

请注意,仅在Unix / Linux系统上似乎可以(轻松)访问此虚拟机管理程序度量标准,但在Windows上却尚未观察到此变量(请参阅我的问题),请问我的问题:Windows是否具有与Unix等效的“ CPU窃取时间”?有关此问题的更多信息。


2
感谢您的博客文章。这确实很清楚。知道这一点真的很高兴,因为我即将推出Ganglia,而衡量错误的指标将是可耻的。测量%idletime!
RickyA 2012年

就我而言,cloudwatch还报告了3mb / s的网络使用率,但是当我在服务器上查看(使用iftop,iptraf,netstat等)时,我发现只有通过网络连接的ssh才能进入服务器。我真的怀疑使用3mb / s ...
Benubird

-2

亚马逊可能会检查负载,并且没有从TOP中获取百分比使用率。如果您在cpu上有两个进程,则可以以20%的利用率使用它们,但是您可以负担2。


我不确定您对负载2的含义是什么
RickyA 2012年

您的系统负载为2。CPU上有两个进程,但利用率较低。
MartinSVK 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.