当内存使用率达到90%时,设置Ubuntu来closuresApachesubprocess

我的情况如下:我们在15Gb ram实例rackspace上运行Magento Professional。

当运行htop时,我们可以看到'apache2 -k start'不断产生更多的subprocess,其中一些吃了〜900Mb的内存。

当内存几乎用完时,所有网站超时或变得非常慢。 当内存全部用完时,似乎这些进程中的一些被杀死以释放内存。

然后相同的程序发生。

我的问题是,当内存使用率达到85-90%时,我们可以设置ubuntu / apache来closuressubprocess并释放内存吗?

从我发现的OOM OOM :

当select一个父任务时,如果可能的话,oom杀手将牺牲任何具有独立地址空间的第一代孩子。 这样可以避免服务器和重要的系统守护进程被终止,并且失去最less量的工作。

你如何确定Apachesubprocess没有先被杀死? 它可能会杀死孩子的过程,但系统仍然没有摆脱困境,它需要杀死另一个孩子的过程(取决于产生多less)(我不是一个沉重的apache用户,所以我不知道如何apache地址空间在其subprocess中被处理)

其次,这是从Apache Docs调整部分Apache Tuning :

您可以并应该控制MaxRequestWorkers设置,以便您的服务器不会产生太多开始交换的子项。 我会研究davidgo的build议。

我希望这有帮助。