非常着急,困扰了我很长时间了。
我在网站上找了很多资料,包括这里的解决的方式,都没有能够得到解决。我的服务器已经放了100多个网站了。
有时候服务器晚上刚刚重起,第二天刚上班访问就会出现too many open files。
注:我这里某些网站用了oscache。并且每次重起计算机的时候都是直接reboot。
下面是ulimit -a打印出来的问题。
# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 300000
cpu time (seconds, -t) unlimited
max user processes (-u) 32762
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited ------------------------------------------------------------------------ 键入以下命令查找打开文件最多的信息如下:# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more[root@linux tomcat-5.5]# ps -aef|grep 8375
root 8375 1 9 08:39 pts/1 00:02:30 /pro/java/jdk1.5.0_11/bin/java -Xms512m -Xmx900m -XX:PermSize=300m -XX:MaxPermSize=512m -XX:MaxNewSize=300m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat-5.5/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat-5.5/common/endorsed -classpath :/opt/tomcat-5.5/bin/bootstrap.jar:/tpo/tomcat-5.5/bin/commons-logging-api.jar -Dcatalina.base=/tpo/tomcat-5.5 -Dcatalina.home=/tpo/tomcat-5.5 -Djava.io.tmpdir=/tpo/tomcat-5.5/temp org.apache.catalina.startup.Bootstrap start
root 8764 8292 0 09:05 pts/1 00:00:00 grep 8375
------------------------------------------------------------------------我的这里tomcat出异常如下:2008-10-15 8:15:00 org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket
严重: Endpoint ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=80] ignored exception: java.net.SocketException: Too many open files
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:450)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java:408)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:71)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
2008-10-15 8:15:00 org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket
警告: Reinitializing ServerSocket
java.io.FileNotFoundException: /webadmin/set_formxx.jsp (Too many open files)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at org.apache.naming.resources.FileDirContext$FileResource.streamContent(FileDirContext.java:975)
at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:307)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:370)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:333)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:561)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
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:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at jereh.web21sun.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:121)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
我在网站上找了很多资料,包括这里的解决的方式,都没有能够得到解决。我的服务器已经放了100多个网站了。
有时候服务器晚上刚刚重起,第二天刚上班访问就会出现too many open files。
注:我这里某些网站用了oscache。并且每次重起计算机的时候都是直接reboot。
下面是ulimit -a打印出来的问题。
# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 300000
cpu time (seconds, -t) unlimited
max user processes (-u) 32762
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited ------------------------------------------------------------------------ 键入以下命令查找打开文件最多的信息如下:# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more[root@linux tomcat-5.5]# ps -aef|grep 8375
root 8375 1 9 08:39 pts/1 00:02:30 /pro/java/jdk1.5.0_11/bin/java -Xms512m -Xmx900m -XX:PermSize=300m -XX:MaxPermSize=512m -XX:MaxNewSize=300m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat-5.5/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat-5.5/common/endorsed -classpath :/opt/tomcat-5.5/bin/bootstrap.jar:/tpo/tomcat-5.5/bin/commons-logging-api.jar -Dcatalina.base=/tpo/tomcat-5.5 -Dcatalina.home=/tpo/tomcat-5.5 -Djava.io.tmpdir=/tpo/tomcat-5.5/temp org.apache.catalina.startup.Bootstrap start
root 8764 8292 0 09:05 pts/1 00:00:00 grep 8375
------------------------------------------------------------------------我的这里tomcat出异常如下:2008-10-15 8:15:00 org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket
严重: Endpoint ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=80] ignored exception: java.net.SocketException: Too many open files
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:450)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java:408)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:71)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
2008-10-15 8:15:00 org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket
警告: Reinitializing ServerSocket
java.io.FileNotFoundException: /webadmin/set_formxx.jsp (Too many open files)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at org.apache.naming.resources.FileDirContext$FileResource.streamContent(FileDirContext.java:975)
at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:307)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:370)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:333)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:561)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
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:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at jereh.web21sun.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:121)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
解决方案 »
- dwr和ssh集成之后报异常:nullpointer
- 加载项目出现java.lang.NoClassDefFoundError错误。
- 学习SSH中过程遇到一个简单的问题,请前辈们解决一下
- Ibatis 中的批处理和事物
- 新手问题 用eXtremeTable时,Struts服务器端怎么判断请求是排序还是过滤等
- 正则表达式匹配一段HTML的问题!
- 问一个JBulider 9中使用struts1.0的问题
- 如果你懂ofbiz这200分就是你的了
- 谁能帮我解释一下这段程序?#号之间的程序
- 怎么在Servlet里调用EJB?
- Spring 的 Controller接口在那个架包里?
- 我的TOMCAT启动时出现情况,求大虾帮帮忙!
关键应该是这一句吧,文件未找到....
http://www.redhat.com/search然后输入too many open files
"Tomcat [java.net.SocketException: Too many open files 解决方法"去这里看看 貌似和你的问题很相似,应该可以解决吧。
临时的解决方法是重启服务器,
根本方法是优化程序内部I/O处理