首先按照网络上的指导操作修改如下内容(需要重启):
ulimit -n 65535(可以写入启动文件/etc/rc.d/rc.local中)
/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
阅读(13290) | 评论(0) | 转发(0) |