有没有办法自动防止内存不足?

Modified on: Thu, 27 Jun 2019 11:20:02 +0800

我的VPS ubuntu服务器上的内存经常耗尽。我希望有一种方法可以在内存开始耗尽时简单地重启apache2,因为这似乎可以解决问题。或者我只是懒得解决这个问题?我在服务器上的内存有限......

好的,更多信息:

我正在运行apache2 prefork,这是我的内存设置(我一直在调整它们......):

StartServers         3
MinSpareServers      1
MaxSpareServers      5
MaxClients           150
MaxRequestsPerChild  1000

VPS有1 GB的ram,运行ubuntu 11.04 32位。

至于脚本,我有一个带有5个博客的wordpress网络,一个AskBot(一个python / django stackexchange克隆)的安装,以及一个未真正使用的MediaWiki的安装。还有一个自制的mp3脚本访问getid3库以显示播客列表的信息,它似乎抛出一些php错误,不确定这是否是罪魁祸首......

作者:,yuttadhammo

最佳答案

Monit可以做到这一点。

您可以使用配置行,例如:

 check process apache 
    with pidfile "/var/lock/apache/httpd.pid"
    start program = "/etc/init.d/httpd start" with timeout 60 seconds
    stop program = "/etc/init.d/httpd stop"
    if 2 restarts within 3 cycles then timeout
    if totalmem > 100 Mb for 5 cycles then restart
    if children > 255 for 5 cycles then stop
    if cpu usage > 95% for 3 cycles then restart
    if failed port 80 protocol http then restart
    group server
    depends on httpd.conf, httpd.bin

(修改自monit.com上的此配置示例

这也可以在前面提到的ulimit选项中发挥作用。

重新启动服务是一个绑定。你应该试着找出它泄漏记忆的原因。

作者:Jodie C

相关问答

添加新评论