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

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

上个月,我的 VPS 服务器负载一直呈峰值状态,最终导致服务器关闭,我不得不手动重启它。

这种情况不是每天都发生,但在过去一个月里,每 2-3 天至少发生一次。高峰发生在夜间某个时间,通常是在 12 点到凌晨 3 点之间。

昨晚 12:28 时,服务器负载为 25、65、125(15 分钟平均值、5 分钟平均值、1 分钟平均值)。此时服务器关闭。在此之前一分钟,服务器负载正常(三次平均值均低于 5)。内存和传入/传出流量正常。

我无法诊断问题。我尝试存储过去 24 小时内每秒的“ps aux”命令输出,但没有发现任何异常。

我认为某个进程可能无限循环。这种情况发生得太快,服务器关闭时还来不及记录任何异常情况。

我怎样才能知道发生了什么?我对系统管理不太有经验。

我的操作系统是 Ubuntu 12.10。它是一个 Web 服务器。我已在其上安装了 Apache 和 MySQL。

谢谢,

答案1

这个问题不够具体,但无论如何我都可以尝试提供帮助。

您查看过导致崩溃的原因吗?我们遇到了机器人攻击我们的服务器并导致其过载的问题。这可能发生在 WordPress 和 Drupal 等平台上。有时 DOS 攻击足以使服务器崩溃。检查您的访问日志,看看崩溃时流量是否增加,尤其是登录页面。如果是这种情况,您可以采取多种措施,例如安装 fail2ban、mod_evasive、Cloudflare、IP 表速率限制等...

您的 RAM 也可能不足,因此您可以启用交换空间作为溢出空间。如果您确实使用了交换空间,请确保找出哪些东西占用了您的 RAM,这样您就可以确保以后不会使用它(交换空间很慢,您应该将应用程序放入可用的 RAM 中)。

您的服务器上也可能存在错误更新,2 月/3 月,在推送错误更新后,AWS Amazon Linux 上的许多人都遇到过这种情况。每隔 24 小时左右,内核就会崩溃。Ubuntu 更新可能就是这种情况。

您的 VPS 上可能存在故障主机,但情况可能并非如此,因为有些公司会在您重新启动或停止/启动实例时更改您的主机。

Apache/MySQL 可能也存在配置问题,尤其是涉及 MySQL 上的 DB 缓存或 Apache 上的 Prefork(如果以这种方式配置)。

导致服务器故障的原因有无数个,但也许这些建议之一可以帮助您。

相关内容