我有一个亚马逊EC2微实例,运行一个旧的2.6.16内核。它运行后缀、apache和mysql。在正常载荷下,它的平均负荷约为0.05,大约95%的时间是这样运行的。然而,一天几次(大约),CPU使用率将飙升到100%,系统几乎无法使用。这通常持续大约5分钟,然后负载恢复正常。
如果我能在这种情况发生的时候看一下htop (不容易--负载是如此之重),我就会发现没有任何运行中的任务会占用大量的cpu,这让我相信这一切都发生在内核领域。
我如何诊断这个负载的原因,更重要的是,修复它?
发布于 2013-04-19 18:40:03
在这些期间,"iowait“和”盗取“CPU时间的百分比是多少?
Iowait表示CPU等待IO请求完成所花费的时间,而窃取百分比则表示内核请求的CPU时间,但被虚拟机管理程序拒绝。
EC2 t1.micro实例非常受CPU和IO的限制。他们可以爆炸很短的时间,然后他们受到严重的CPU节流。下次发生这种情况时,请注意%wa和%st在top的输出中。我敢打赌,其中一个或两者都有很高的CPU时间百分比。
为了减轻负担,您需要找到IO和/或CPU负载的源,或者将实例调整为m1.small。
https://serverfault.com/questions/501026
复制相似问题