JBoss打开的文件太多错误

JBoss打开的文件太多错误,jboss,Jboss,就在上周,我在访问JBoss(V4.2.2)web应用程序时遇到了一些问题。当我转到主页时,我会看到一个java.lang.NullPointerException错误页面。在查看JBoss日志输出后,似乎打开了太多的文件,那么如何关闭这些文件呢?以下是JBoss日志的输出: Servlet jsp的错误[[jsp]]Servlet.service()引发异常 java.io.FileNotFoundException:/usr/local/jboss-4.2.2.GA/server/defau

就在上周,我在访问JBoss(V4.2.2)web应用程序时遇到了一些问题。当我转到主页时,我会看到一个java.lang.NullPointerException错误页面。在查看JBoss日志输出后,似乎打开了太多的文件,那么如何关闭这些文件呢?以下是JBoss日志的输出:

Servlet jsp的
错误[[jsp]]Servlet.service()引发异常
java.io.FileNotFoundException:/usr/local/jboss-4.2.2.GA/server/default/work/jboss.web/localhost/catissecore/org/apache/jsp/pages/content/home/Error_jsp.java(打开的文件太多)
在java.io.FileOutputStream.open(本机方法)
位于java.io.FileOutputStream。(FileOutputStream.java:179)
位于java.io.FileOutputStream。(FileOutputStream.java:70)
位于org.apache.jasper.compiler.compiler.generateJava(compiler.java:152)
位于org.apache.jasper.compiler.compiler.compile(compiler.java:306)
位于org.apache.jasper.compiler.compiler.compile(compiler.java:286)
位于org.apache.jasper.compiler.compiler.compile(compiler.java:273)
位于org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
位于org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:447)
位于org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
位于org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
位于org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
位于org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
位于org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
运行(Thread.java:619)
ERROR[[localhost]]异常处理错误页面[exceptionType=java.lang.Exception,location=/pages/content/home/ERROR.jsp]
org.apache.jasper.jaspereException:无法为JSP编译类
位于org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:574)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
位于org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:447)
位于org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
位于org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
位于org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
位于org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
位于org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
运行(Thread.java:619)
原因:java.io.FileNotFoundException:/usr/local/jboss-4.2.2.GA/server/default/work/jboss.web/localhost/catissecore/org/apache/jsp/pages/content/home/Error_jsp.java(打开的文件太多)
在java.io.FileOutputStream.open(本机方法)
位于java.io.FileOutputStream。(FileOutputStream.java:179)
位于java.io.FileOutputStream。(FileOutputStream.java:70)
位于org.apache.jasper.compiler.compiler.generateJava(compiler.java:152)
位于org.apache.jasper.compiler.compiler.compile(compiler.java:306)
位于org.apache.jasper.compiler.compiler.compile(compiler.java:286)
位于org.apache.jasper.compiler.compiler.compile(compiler.java:273)
位于org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
... 还有21个

首先,您要确定哪些文件保持打开状态。我假设您的服务器运行linux,所以一旦
  ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
    java.io.FileNotFoundException: /usr/local/jboss-4.2.2.GA/server/default/work/jboss.web/localhost/catissuecore/org/apache/jsp/pages/content/home/Error_jsp.java (Too many open files)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:152)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:447)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
    at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:619)
    ERROR [[localhost]] Exception Processing ErrorPage[exceptionType=java.lang.Exception, location=/pages/content/home/Error.jsp]
    org.apache.jasper.JasperException: Unable to compile class for JSP
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:574)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:447)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
    at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.io.FileNotFoundException: /usr/local/jboss-4.2.2.GA/server/default/work/jboss.web/localhost/catissuecore/org/apache/jsp/pages/content/home/Error_jsp.java (Too many open files)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:152)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    ... 21 more
ps ax | grep something-that-makes-your-jboss-process-unique
ls -l /proc/jbosspid/fd
jboss          soft    nofile          16384
jboss          hard    nofile          16384
open files (-n) 1024 max user processes (-u) 1024 ulimit -n 100000 ulimit -u 100000