Sign-up....

Too many open files错误!那位高手帮忙看看是什么原因啊?

12:06:12.560 WARN!! [cbinews-213]org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:725)30>

java.io.FileNotFoundException: /home/cbinews/webapps/ROOT/casestudy/index.jsp (Too many open files)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.<init>(Unknown Source)

at org.mortbay.util.FileResource.getInputStream(FileResource.java:230)

at org.mortbay.util.CachedResource.update(CachedResource.java:73)

at org.mortbay.util.CachedResource.<init>(CachedResource.java:37)

at org.mortbay.util.Resource.cache(Resource.java:321)

at org.mortbay.http.HttpContext.getResource(HttpContext.java:832)

at org.mortbay.jetty.servlet.WebApplicationContext.getResource(WebApplicationContext.java:1246)

at org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:711)

at org.mortbay.jetty.servlet.ServletHandler$Context.getResource(ServletHandler.java:943)

at org.apache.jasper.JspCompilationContext.getResource(JspCompilationContext.java:234)

at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:405)

at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:390)

at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:471)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)

at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:222)

at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:135)

at org.mortbay.jetty.servlet.Default.handleGet(Default.java:293)

at org.mortbay.jetty.servlet.Default.service(Default.java:208)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)

at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)

at org.mortbay.http.HttpServer.service(HttpServer.java:879)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)

错误提示是这样的,偶尔报个错误!

再过断时间就从浏览器访问一些页面就报页面不存在

重启web应用服务器就可以了

由什么原因引起的啊?

急啊!

是linux操作系统

[3016 byte] By [msdn] at [2007-9-21 9:34:13]
# 1 Re: Too many open files错误!那位高手帮忙看看是什么原因啊?

这里以前有人问过,也有人答过,

因为打开的文件句柄太多了 ,

操作系统有参数设置, 你可以在CSDN 找找看.

还提到,如果可以 , 尽量打包一些类成 jar ,这样确良一个 jar 只占一个句柄.

一个 Socket 也占一个句柄.

humanity at 2005-7-8 15:34:10 >
# 2 Re: Too many open files错误!那位高手帮忙看看是什么原因啊?

把用过的关掉。

rower203 at 2005-7-8 15:37:53 >
# 3 Re: Too many open files错误!那位高手帮忙看看是什么原因啊?

没错,文件句柄打开过多而没有关闭。

一般windows下不会出现这种情况,在UNIX和linux下会出现。

在UNIX中可以设置一个核心参数加大文件句柄可使用数,但这不是解决方法,再多的句柄也会被用完,如果你始终不记得关闭的话。

读写文件占用文件句柄,一个socket占用超过一个文件句柄。

rainshow at 2005-7-8 17:00:16 >
# 4 Re: Too many open files错误!那位高手帮忙看看是什么原因啊?

那要怎么关闭文件句柄啊?

wuyuhua_2000 at 2005-7-11 8:49:10 >
# 5 Re: Too many open files错误!那位高手帮忙看看是什么原因啊?

不是都有提供的吗?

比如InputStream的close()方法

比如Socket类的close()方法

等。。。。。。。。。。。。。。。。。。。

rainshow at 2005-7-11 10:08:27 >

Web

All Classified