我们在云网络上有一台服务器,由第三方提供。我们正在运行 Ubuntu 10.04 服务器版。
问题似乎是随机发生的,每天大约发生一到三次。顶部的平均负载通常在 2 左右,服务器运行正常,但在这些随机时间,平均负载会飙升至 30-35 左右,一切都停止了。无法访问我们的网站,无法在服务器上执行命令,无法执行任何操作。如果您尚未登录,甚至无法登录。
我们能够看到高平均负载的唯一方法是不断运行 top,以便在问题发生时它已经在运行。似乎如果它已经在运行,它会继续正常工作,但是如果它没有运行,则无法启动它。进入这种状态时无法运行任何命令使我们很难诊断问题......而且我们无论如何都不认为自己是服务器专家。
在我看来很奇怪的是,平均负载峰值如此之高,但处理器保持空闲状态,并且有足够的空闲内存。再说一次,我根本不是专家,但我非常基本的理解是,如果内存可用并且处理器没有最大化,那么就不应该有进程在等待(我很可能误会了)。
当我输入这个时,我发现它开始飙升并在一切锁定之前设法运行了一些命令。输出如下:
uname -a
Linux <server name> 2.6.32-308-ec2 #16-Ubuntu SMP Thu Sep 16 14:28:38 UTC 2010 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
最佳
top - 10:55:08 up 15:28, 4 users, load average: 12.29, 7.01, 3.89
Tasks: 313 total, 3 running, 308 sleeping, 0 stopped, 2 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4210704k total, 2163024k used, 2047680k free, 162320k buffers
Swap: 2096440k total, 0k used, 2096440k free, 1690464k cached
PID …Run Code Online (Sandbox Code Playgroud)