首页 / 操作系统 / Linux / Linux部署Java应用Too many open files解决方案
[#|2010-04-03T19:24:11.314+0800|SEVERE|glassfishv3.0|grizzly|_ThreadID=18;_ThreadName=Thread-1;|doSelect IOException java.io.IOException: Too many open files at sun.nio.ch.IOUtil.initPipe(Native Method) at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:49) at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:18) at java.nio.channels.Selector.open(Selector.java:209) at com.sun.grizzly.util.Utils.openSelector(Utils.java:78) at com.sun.grizzly.TCPSelectorHandler.initSelector(TCPSelectorHandler.java:413) at com.sun.grizzly.TCPSelectorHandler.preSelect(TCPSelectorHandler.java:393) at com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:183) at com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:130) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) |#]查看系统允许打开的最大文件数 #nano /proc/sys/fs/file-max 发现足够大了。 查看每个用户允许打开的最大文件数 ulimit -a 发现系统默认的是open files (-n) 1024,问题就出现在这里。 在系统文件/etc/security/limits.conf中修改这个数量限制, 在文件中加入内容: * soft nofile 65536