当前位置:  技术问答>linux和unix

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

    来源: 互联网  发布时间:2015-10-07

    本文导语:  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...

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.(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.(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操作系统

|
系统同时打开的文件太多了
用sysctl fs.file
  内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值,


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


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


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



要想更改设置:

  sysctl -w 参数名=参数值


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

|
本质的原因,应该是程序有问题,可能是你程序打开了文件句柄而没有进行关闭,导致文件句柄的泄漏。
记住:资源的泄漏不光指内存的泄漏,还有其它的泄漏,比如打开了文件句柄而不关闭等。

|
同时打开的文件句柄太多,超过了系统的最大限制,如果不是程序的问题就该系统参数,建议你还是查查程序有没有在用完后关闭文件。

|
打开文件句柄太多而受限,看一下: ulimit -a
实质上可能是程序的问题,是否有不断的打开文件而没有关闭?

|
通常不是系统的问题, 是程序的问题.
还没有看到哪个系统需要打开的文件数超过系统限制.
如果方便,请帮我儿子投一票
http://www.nutricia.com.cn/view.asp?id=736
谢谢。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 帮忙解决“Id 'X' respawning too fast”的问题
  • java命名空间java.net类httpurlconnection的类成员方法: http_entity_too_large定义及介绍
  • -bash-3.2# Argument list too long 到底是怎么回事呀?
  • java命名空间java.net类httpurlconnection的类成员方法: http_req_too_long定义及介绍
  • count too high的问题
  • -bash: /bin/ls: Argument list too long...问题
  • popen/pclose: too many open files
  • INIT:Id "x" respawning too fast : disabled for 5 minutes
  • reboot: can't open '/proc' too many openfiles,怎么解决?
  • INIT:Id "X" respawing too fast:disabled for 5 minutes
  • INIT:Id "x" respawning too fast : disabled for 5 minutes!
  • JAVA 数组问题,TOO easy!
  • 请问,为何咋处理TOMCAT的TOO MANY CONNECTION:3
  • 老出现i8253 count too high!resetting怎么回事?
  • 求教:新手安装red hat9 提示:cache line size too large
  • ERROR 1406 : Data too long for column 解决办法
  • Mandatory arguments to long options are mandatory for short options too
  • pstat_getproc:Value too large to be stored in data type如何解决?
  • About Websphere? too boring..
  • 打开文件数过多(too many open files)
  • 为什么sort -S 设置缓存大于等于4G时报错‘too large’?如何突破此限制?(急!)
  • 关于修改网卡驱动8139too.c的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    semop 错误File too large iis7站长之家