如何防止我的服务器上的网站导致整个服务器崩溃

如何防止我的服务器上的网站导致整个服务器崩溃

我有一台配备 6GB RAM 和 6 核 CPU 的服务器。该服务器托管的网站数量约为 10 个,但有时其中 2 个会占用 100% 的 CPU 和几乎全部 RAM,这会导致整个服务器崩溃,我需要重置它。

我在 Centos 6 上使用 directadmin。如何限制每个网站可以使用的资源,以防止整个服务器崩溃?

答案1

你没有提供,我猜你使用的是 PHP?请检查系统日志中的 OOM killer,以了解哪个进程消耗了所有内存。

以不同的用户身份运行每个网站。然后使用 ulimits 来限制它们,以免占用全部内存。

答案2

您必须检查日志,检查执行时间较长的 mysql 查询。使用“top”或“htop”命令检查哪些进程使 CPU 使用率达到 100%。

  1. 检查有多少个 httpd 实例正在运行
  2. 检查这些网站何时从 url 进行访问,后台正在执行哪些查询(大多数情况下,罪魁祸首查询是罪魁祸首)。

对于 ceentos,使用 cpulimit 工具。

相关内容