具有100%cpu且无响应的Amazon AWS微型实例

Asf*_*ura 2 throttling amazon-ec2 amazon-web-services

我的aws ec2 ubuntu实例一直存在问题,他们在一定时间内(大约8小时)总是有100%的CPU利用率,直到我重新启动它.

实例是ubuntu服务器13.04,它有一个基本的LAMP,就是这样.我有一个cron工作,每隔几分钟做一次ping,以保持VPN隧道,但它不应该这样做.

当它处于100%cpu利用率时,我无法ping它,ssh到它或浏览它,但它不会拒绝连接,它只是继续"尝试".

不知道背后的原因是什么?我猜它与亚马逊限制该实例有关,但奇怪的是它在8小时内使用100%的CPU.

这是实例的CPU日志,其他每个指标看起来都很正常.

我不能在这里附上图片,所以我发布了一个链接

100%的CPU利用率

编辑

之前我和其他实例发生过这种情况,现在我的Amazon Linux AMI现在连续4天以100%运行,而且只有tomcat,没有部署应用程序.我刚刚意识到,它没有反应,我终止了它.

Mic*_*bot 6

作者注,2019年:这篇文章最初是在2013年写的,关于t1.micro实例类型.当前的EC2免费层现在允许您选择t1.micro或t2.micro实例类.与t1.micro的间歇性硬钳位行为不同,t2.micro持续满负荷运行,直到您的CPU信用余额接近耗尽,并且降级更加优雅.


这是预期的行为.请参阅"EC2用户指南(适用于Linux实例)"中的t1.micro实例.

请注意说"CPU级别有限"的图表.我测量过这个,如果你在一个微型实例上消耗100%cpu超过15秒,那么节流就会开始,你的可用周期会在接下来的2-3分钟内从2 ECU下降到大约0.2 ECU(大约200MHz) ,此时循环重复,如果您仍在努力拉动处理器,您将在几秒钟内再次受到限制.

在节流时间内,与获得最佳性能时相比,你只能获得约1/10的周期,因为管理程序"窃取"其余部分......所以你仍然会看到你使用的是100%的稳定. ..因为你使用了所有可用的东西.将微型固定在天花板上并不需要太多.或者楼层...所以要么你要求太多的实例类,要么你有一些意想不到的最大化你的CPU.

在机器响应时建立SSH连接,启动"顶部"运行,然后保持连接,这样当它开始变慢时,你已经有了工具,你需要用它来找出什么是cpu hog.


¹ 管理程序窃取其余部分: 一次常见的误解是管理程序从EC2实例中窃取的时间(可见的top和类似的实用程序)是由"嘈杂的邻居"引起的 - 在同一硬件上竞争CPU周期的其他实例.这不是被盗周期的原因.对于某些较旧的实例系列,m1如果AWS已在主机上配置了您的实例,而该主机具有比为实例类指定的处理器更快的处理器,则会看到被盗的周期; 周期被盗,因此实例的性能与您所支付的性能相匹配,而不是实际底层硬件的性能.EC2实例不共享虚拟化CPU资源的物理资源.

  • 我尝试了top命令,但是由于其他原因(低wifi:/),连接断开了,所以我现在再次尝试,但是我必须等待一段时间 (2认同)