转载:http://blog.chinaunix.net/uid-10666692-id-1759617.html
首先按照网络上的指导操作修改如下内容(需要重启):
ulimit -n 65535(可以写入启动文件/etc/rc.d/rc.local中)
/etc/sysctl.conf : fs.file-max = 65535
/etc/security/limits.conf : * - nofile 65535
/etc/sysctl.conf : fs.file-max = 65535
/etc/security/limits.conf : * - nofile 65535
如果这样还是不能解决问题,那可能是程序编译时有filesize的限制。
比如我的程序运行时有如下告警:
Warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE = 1024
因此需要修改/usr/include/bits/typesizes.h头文件中的__FD_SET_SIZE宏志,该值默认为1024,修改成65535重新编译即可。
另外可以利用如下命令查看进程占用文件数:
lsof -p 进程号 |wc -l
本文介绍了如何通过修改系统配置文件来增加Linux系统中文件描述符的数量,并提供了针对程序编译时遇到的文件大小限制问题的解决方案。
689

被折叠的 条评论
为什么被折叠?



