Part1部分是一位博友辛苦做出的分析,贴出来。
之后是part2是给出如何解决下面的报错问题
Part1
2014-11-01 19:43:12,997 WARN (AbstractConnector.java:472) -
java.io.IOException: Too many open filesat sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:226)
at org.eclipse.jetty.server.ServerConnector.accept(ServerConnector.java:336)
at org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:467)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
at java.lang.Thread.run(Thread.java:722)
Last login: Sat Nov 1 17:35:34 2014 from 220.184.86.17
[root@www ~]# free
total used free shared buffers cached
Mem: 16282708 16127828 154880 0 9148 13197512
-/+ buffers/cache: 2921168 13361540
Swap: 8208376 0 8208376
上周五20:22左右,服务器突然挂掉,LOG里全是“java.io.IOException: Too many open files”。
我在周六16点多重启服务器以后,第二天发现在周六19:36左右的时候,又挂掉了,现象完全一样。
挂掉时,free很少,cached很多。这次,我没有重启服务器,而是清除了一下cache,就恢复了。
从服务器的流量图中可以看到,从上周五开始,流入的流量(蓝色线)突然飚的很高。
而之前,它都是维持在很低的水平的,感觉像遭受了攻击一样。这个还要再分析了。
从年流量图上看,8月份(Aug)流入的流量也很高,这估计是因为8月中才加的防火墙:
- // 查看定时日志,发现20点以前都是好的,21点以后就挂了(内存耗尽,文件句柄用光)
- # cat /home/lsofc.log
- ===========================
- 2014年 11月 07日 星期五 16:00:01 CST
- Memory usage | [Use:5782 MB][Free:10118 MB][Cached:3942 MB]
- File count | [All count:6957][JAVA count:912]
- ===========================
- 2014年 11月 07日 星期五 17:00:01 CST
- Memory usage | [Use:5806 MB][Free:10094 MB][Cached:3950 MB]
- File count | [All count:5855][JAVA count:864]
- ===========================
- 2014年 11月 07日 星期五 18:00:02 CST
- Memory usage | [Use:5807 MB][Free:10093 MB][Cached:3957 MB]
- File count | [All count:5717][JAVA count:980]
- ==============