检测到高服务器负载,服务器自动停止

在过去的一个月中,我的VPS一直在服务器负载中出现高峰,服务器因此closures,我不得不手动重新启动它。

这不是每天都会发生的,但是最近一个月至less每2-3天发生一次。 穗发生在晚上的某个时候,通常在12-3之间。

昨晚12点28分,服务器负载为25,65,125(平均15分钟,平均5分钟,平均1分钟)。 这是服务器closures的时候。 在此之前的一分钟,服务器负载是正常的(所有三个平均值都小于5)。 内存和传入/传出的stream量是正常的。

我无法诊断问题。 我试图在过去24小时内每秒钟存储命令“ps aux”的输出,但是我没有发现任何违规行为。

我认为一个过程可能会产生一个无限循环。 它发生得太快,服务器closures,无法logging任何违规行为。

我怎样才能知道会发生什么? 我对系统pipe理不是很有经验。

我的操作系统是Ubuntu 12.10。 这是一个networking服务器。 我已经安装了Apache和MySQL。

谢谢,

这不是一个具体的问题,但我可以尝试和帮助。

你看过是什么原因造成的? 我们遇到了机器人攻击我们的服务器,导致它过载的问题。 这可能发生在WordPress和Drupal之类的东西上。 有时DOS攻击足以使服务器崩溃。 检查您的访问日志,并查看崩溃时间附近的音量是否增加,特别是login页面。 如果是这种情况,你可以做很多事情,比如安装fail2ban,mod_evasive,Cloudflare,IP Tables Rate Limiting等。

您也可能用尽RAM,并且您可能能够启用交换空间作为溢出。 如果你使用swap,确保你知道什么是内存溢出,所以你可以确保你将来不会使用它(交换速度很慢,你应该把你的应用程序放进你的RAM中)。

在您的服务器上可能还会有一个错误的更新,这是在Amazon Update Linux上的很多人在推迟更新之后的二月/三月发生的。 每隔24小时内核就会惊慌失措。 Ubuntu更新可能就是这种情况。

您的VPS上可能有一个失败的主机,但可能并非如此,因为有些公司在重新启动时更换主机或停止/启动实例。

Apache / MySQL也可能存在一个configuration问题,特别是在Apache上使用MySQL或Prefork(如果以这种方式configuration)进行数据库caching。

有什么原因可能导致你的服务器失败,但也许这些build议可以帮助你。