php cgi socket: Too many open files

Too many open files经常在使用linux的时候出现,大多数情况是您的程序没有正常关闭一些资源引起的,所以出现这种情况,请检查io读写,socket通讯等是否正常关闭 错误信息:


create_debugger_socket("127.0.0.1", 9002) socket: Too many open files

用 ulimit -a  查看了一下 只有 256


ulimit -a

open files                      (-n) 256

使用 ulimit -n 命令来提高 open files 数


ulimit -n 1024

当然这个只是临时的修改,关闭终端后就失效了 我们可以通过修改 /etc/launchd.conf 文件来使其永久生效 如果系统中不存在launchd.conf我们就创建一个,如果已存在 则在最后添加

sudo vim /etc/launchd.conf

添加以下内容 limit maxfiles 65536 65536 修改后重启电脑然后再通过 ulimit -a 查看

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

参考文章:http://artincube.com/too-many-open-files-limit-on-mac-os-x-ptgui-pro/

发表评论