自从公司Web服务器换成Linux系统(Ubuntu 12.04LTS)后,服务器经常死机(大概几天会有一次吧,有时候是一个星期这样),症状为SSH连接上去后,提示输入用户名密码,输完密码后,介面就一直停住没有任何响应,一直搞不明白什么原因,无奈只能叫机房重启。
为了解决问题,后来部署了监控宝对服务器进行监控,发现服务器死机时,CPU的使用率到达了100%,但其中用户态使用率(%User)及内核态使用率(%System)相当底,甚至为0,但等待率(%Wait)几乎占了所有的资源,再观察CPU负载,也是相当高达到100多的负载。
一直搞不明是什么原因造成的,因为出现问题时CPU负载是急剧上升的,此时SSH根本没有办法连上去运行任何命令,有一次为解决问题,出问题时跑去机房想看看能不能登录得上去,结果也是一样,没法登录进系统。重启后观察系统的一些日志文件,也没有发现什么问题。
实在没有办法了,搞不懂是什么原因,各位帮我分析分析看有可能是什么原因造成的呢,谢谢!!!
Web服务器上跑的是什么应用程序?
就是跑几个网站而已,网站用的是Python+Django做的
@Kidwind: 可能就是某个网站的代码引起的
帮顶
磁盘I/O会不会很高,是不是把数据库或者负载均衡服务放在上面了?
可以参考博客园云计算之路的那篇 看看是不是频繁的页面交换导致了cpu暴争
站点访问外部http接口或者服务多么?看一下是不是某些接口或者服务出了问题或者响应慢。对外部接口的访问一定要有监控。
你看一下死机前的日志,或者写个脚本,定时把正在运行的进程的信息保存下来