阿帕奇崩溃;“系统中打开的文件太多”

Eri*_*ale 8 linux centos apache-2.2

我在 MediaTemple (dv) 服务器上使用 mpm_prefork 运行 Apache2。最近我的服务器配置没有发生重大变化。httpd.conf 当前设置如下:

MaxKeepAliveRequests 200
KeepAliveTimeout 15

<IfModule prefork.c>
    StartServers           10
    MinSpareServers        10
    MaxSpareServers        10
    MaxClients            200
    MaxRequestsPerChild   4000
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但是我在 apache 全面崩溃之前收到以下错误:

[Thu Jun 04 18:30:24 2009] [warn-phpd] mmap cache can't open /var/www/vhosts/mydomain.com/httpdocs/filename.php - Too many open files in system (pid 19873)
Run Code Online (Sandbox Code Playgroud)

当 Apache 崩溃时,我对照看这个服务器来重新启动它感到恼火。帮助?

Zor*_*che 9

我建议您尝试在文件 / etc/default/apache2的顶部添加像这样的ulimit -n 16384行,然后重新启动。

另请参阅此链接

  • RHEL 和 Fedora 上的 /etc/sysconfig/httpd (3认同)

Eri*_*ale 0

我通过将以下内容添加到 /usr/sbin/apachectl 解决了我的问题:

ULIMIT_MAX_FILES="ulimit -n 16384"
Run Code Online (Sandbox Code Playgroud)

至少在过去 12 小时内,问题似乎已经平息。