错误:java.io.IOException: Too many open files
错误原因:java使用nio在linux下会不断调用linux创建pipe(貌似是nio的bug[待考证]),linux下默认用户只能打开1024个连接文件,从而产生Too many open files的异常
解决方案:设置linux用户打开连接文件数
具体如下:
查看系统允许打开的最大文件数
#nano /proc/sys/fs/file-max
发现足够大了。
查看每个用户允许打开的最大文件数
ulimit -a
发现系统默认的是open files (-n) 1024,问题就出现在这里。
在系统文件/etc/security/limits.conf中修改这个数量限制,
在文件中加入内容:
* soft nofile 65536
* hard nofile 65536