【发布时间】:2013-11-03 06:39:38
【问题描述】:
我想知道打开的文件太多错误的确切问题。我通过谷歌寻求解决方案,但我无法理解为什么会出现这个问题以及如何解决这个问题。这是关于 ulimit 值的东西吗?
堆栈错误:严重:套接字接受失败 java.net.SocketException:在 java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398) 在 java.net.PlainSocketImpl.socketAccept(Native Method) 的打开文件太多.net.ServerSocket.implAccept(ServerSocket.java:530) at java.net.ServerSocket.accept(ServerSocket.java:498) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61 ) 在 org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352) – user2883376 昨天
Linux 服务器,这是我最后一次更新代码以获取基于语言的消息。 ApplicationContext context = new ClassPathXmlApplicationContext("app-context.xml"); name = context.getMessage(key, null, locale);返回名称;
对这个错误有什么建议吗?
【问题讨论】:
-
ulimit 好像有问题。请提供更多详细信息,例如操作系统和错误消息。有没有堆栈错误?
-
操作系统可能会限制进程可以打开的文件数量。也许您在处理完文件后没有关闭它们?
-
堆栈错误:严重:套接字接受失败 java.net.SocketException:在 java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java)的 java.net.PlainSocketImpl.socketAccept(本机方法)打开的文件太多:398) 在 java.net.ServerSocket.implAccept(ServerSocket.java:530) 在 java.net.ServerSocket.accept(ServerSocket.java:498) 在 org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory. java:61) 在 org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352)
-
Linux 服务器,这是我最后一次更新代码以获取基于语言的消息。 ApplicationContext context = new ClassPathXmlApplicationContext("app-context.xml"); name = context.getMessage(key, null, locale);返回名称;
标签: tomcat