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/