我不时有奇怪的问题。 我的VPS重载,并没有要求。 我必须手动重启服务器,并且只有在服务器再次正常工作之后。 但有时几个小时过去了,直到我发现它超载,而这一切都是我的网站已经closures了。 如果CPU使用率超过50%,有什么办法可以让Linux重新加载? 这会帮助我很多。
替代文字http://xmages.net/upload/72a39111.png
像你之后的保姆脚本是非常危险的,可能会导致更多的问题比解决,我会同意kaerast需要追踪问题的根源,看着你已经制作的屏幕截图看起来像问题可能内存比CPU更多。
是否有任何明显的错误在您的apache错误日志或在/ var / log / messages或/ var / log / syslog
您的控制台清楚地显示apache2 OOM'ing。
在你的Apacheconfiguration中,尝试调整MaxRequests(在一系列请求后循环一个httpd进程,如果你的web应用程序正在泄漏内存,将会有帮助)和/或MaxClients(这将限制服务器可以同时处理的最大连接数)
计算MaxClients的“有点”合理的方法是应用这个公式:
(Physical RAM present) / (Average Size of Process) * 1.25 (to account for memory-sharing effects)
1.25是一个可调的“模糊因素”,你可以上下调整。 你做得越高,你服务器的风险就越高。
Monit将是一个很好的简单解决scheme。 但是您可能需要查看根本原因并找出导致CPU使用率高的原因,然后优化代码或获得更快的服务器。
那么你的Apacheconfiguration是什么样的? 这些参数的当前设置是什么:
很有可能您的默认Apacheconfiguration将这些参数设置得太高,以至于VPS上的可用内存不足。 产生太多的Apache进程(相当于内存饥饿开始)可以很容易地让你进入日志中看到的相同的OOM内存情况。