我正在尝试更改 Apache 的文件描述符限制。
问题是,通过“/etc/security/limits.conf”设置的限制不适用于没有登录 shell 的系统用户(例如“apache”)。
我已经使用这个简单的 PHP 代码对其进行了测试:
<?php
echo "User: ";
echo exec('whoami');
echo "<br>FD Soft Limit: ";
echo exec('ulimit -Sn');
echo "<br>FD Hard Limit: ";
echo exec('ulimit -Hn');
?>
我还尝试从“/usr/sbin/apachectl”修改变量:
ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
操作系统:CentOS 版本 6.4(最终版)Apache:Apache/2.2.15
答案1
您是否达到了 1,024 个文件描述符的上限?
在 CentOS/RHEL 6 中,通过 引入了新的上限/etc/security/limits.d/90-nproc.conf
。
此文件(以及此目录中的任何内容)优先于/etc/security/limits.conf
,因为它在最初读取 limits.conf 之后应用;其默认值为 1,024。