问题描述: java
当运行org.apache.catalina.startup.Catalina stopServer,中止tomcat程序时, apache
严重: Catalina.stop: java.net.SocketException: No buffer space available (maximum connections reached?): connect tomcat
异常栈: 服务器
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
- at java.net.PlainSocketImpl.socketConnect(Native Method)
- at java.net.PlainSocketImpl.doConnect(Unknown Source)
- at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
- at java.net.PlainSocketImpl.connect(Unknown Source)
- at java.net.SocksSocketImpl.connect(Unknown Source)
- at java.net.Socket.connect(Unknown Source)
- at java.net.Socket.connect(Unknown Source)
- at java.net.Socket.<init>(Unknown Source)
- at java.net.Socket.<init>(Unknown Source)
- at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:421)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
- at java.lang.reflect.Method.invoke(Unknown Source)
- at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:337)
- at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
而后,org.apache.catalina.connector.Connector pause socket
严重: Protocol handler pause failed java.net.SocketException: No buffer space available (maximum connections reached?): connect spa
- at java.net.PlainSocketImpl.socketConnect(Native Method)
- at java.net.PlainSocketImpl.doConnect(Unknown Source)
- at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
- at java.net.PlainSocketImpl.connect(Unknown Source)
- at java.net.SocksSocketImpl.connect(Unknown Source)
- at java.net.Socket.connect(Unknown Source)
- at java.net.Socket.connect(Unknown Source)
- at java.net.Socket.<init>(Unknown Source)
- at java.net.Socket.<init>(Unknown Source)
- at org.apache.jk.common.ChannelSocket.unLockSocket(ChannelSocket.java:486)
- at org.apache.jk.common.ChannelSocket.pause(ChannelSocket.java:283)
- at org.apache.jk.server.JkMain.pause(JkMain.java:681)
- at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153)
- at org.apache.catalina.connector.Connector.pause(Connector.java:1073)
- at org.apache.catalina.core.StandardService.stop(StandardService.java:563)
- at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
- at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
- at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:671)
重启Tomcat也没用。网上搜了一大圈,大概意思就是Socket没有释放、一些TCP出于TIME_WAIT状态。因而,我重启服务器,而后正常运行下,使用netstat观察,果真没有TIME_WAIT: .net
因而,将继续观察,假如出了问题,备查出问题端口,再行分析。 server