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

wuyuhua_2000 2005-07-08 03:28:22
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操作系统
...全文
528 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
踏岸寻柳 2005-07-11
  • 打赏
  • 举报
回复
打开文件句柄太多而受限,看一下: ulimit -a
实质上可能是程序的问题,是否有不断的打开文件而没有关闭?
victorchen_2000 2005-07-11
  • 打赏
  • 举报
回复
通常不是系统的问题, 是程序的问题.
还没有看到哪个系统需要打开的文件数超过系统限制.
如果方便,请帮我儿子投一票
http://www.nutricia.com.cn/view.asp?id=736
谢谢。
yiyi999999999 2005-07-09
  • 打赏
  • 举报
回复
同时打开的文件句柄太多,超过了系统的最大限制,如果不是程序的问题就该系统参数,建议你还是查查程序有没有在用完后关闭文件。
scalps 2005-07-09
  • 打赏
  • 举报
回复
本质的原因,应该是程序有问题,可能是你程序打开了文件句柄而没有进行关闭,导致文件句柄的泄漏。
记住:资源的泄漏不光指内存的泄漏,还有其它的泄漏,比如打开了文件句柄而不关闭等。
gdhyj 2005-07-08
  • 打赏
  • 举报
回复
系统同时打开的文件太多了
用sysctl fs.file
  内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值,


  第二个参数表示空闲(分配后已释放)的文件数,


  第三个参数表示可以打开的最大文件数,其值等于fs.file-max。


  当前打开的文件数 = 第一个参数值 - 第二个参数值



要想更改设置:

  sysctl -w 参数名=参数值


  例如:sysctl -w fs.file-max=10240 设置系统允许同时打开的最大文件数为10240。

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧