UBUNTU 下 APACHE2 Too many open files: Error retrieving pid file /var/run/apache2.pid

cat /proc/sys/fs/file-max 系统可打开的最大文件个数

ulimit -n 当前系统限制的个数

ulimit -n 10240 调整当前系统的限制

修改/etc/sysctl.conf, 加入

net.ipv4.ip_local_port_range = 1024 65000

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max=16777216

net.core.wmem_max=16777216

net.ipv4.tcp_rmem=4096 87380 16777216

net.ipv4.tcp_wmem=4096 65536 16777216

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_window_scaling = 1

net.ipv4.tcp_sack = 1

net.core.netdev_max_backlog = 262144

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_orphans = 3276800

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_synack_retries = 1

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_keepalive_time= 30

net.ipv4.tcp_max_tw_buckets= 6000

net.core.somaxconn = 65535

fs.file-max = 1024000

vim /etc/security/limits.conf 进行设置

修改/etc/security/limits.conf ,在最下方添加

* soft nofile 65536

* hard nofile 65536

重启

sysctl -p 无需重启 立刻使生效

apache 支持监听8180个端口 默认的。 不知道增加还得肿么搞。

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

netstat -antup | wc -l

netstat -antup | grep 'TIME_WAIT' | wc -l

netstat -antup | grep 'SYN_RECV' | wc -l