免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11736 | 回复: 4
打印 上一主题 下一主题

[Web] tomcat的CLOSE_WAIT是怎么回事 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-05 09:49 |只看该作者 |倒序浏览
20可用积分
  1. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48220      CLOSE_WAIT  4444/java           
  2. tcp        0      0 ::ffff:127.0.0.1:48219      ::ffff:127.0.0.1:3306       ESTABLISHED 4444/java           
  3. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48255      CLOSE_WAIT  4444/java           
  4. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48254      CLOSE_WAIT  4444/java           
  5. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48249      CLOSE_WAIT  4444/java           
  6. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48247      CLOSE_WAIT  4444/java           
  7. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48246      CLOSE_WAIT  4444/java           
  8. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48244      CLOSE_WAIT  4444/java           
  9. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48242      CLOSE_WAIT  4444/java           
  10. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48240      CLOSE_WAIT  4444/java           
  11. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48239      CLOSE_WAIT  4444/java           
  12. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48236      CLOSE_WAIT  4444/java           
  13. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48235      CLOSE_WAIT  4444/java           
  14. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48234      CLOSE_WAIT  4444/java           
  15. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48233      CLOSE_WAIT  4444/java           
  16. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48228      CLOSE_WAIT  4444/java           
  17. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48226      CLOSE_WAIT  4444/java           
  18. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48225      CLOSE_WAIT  4444/java           
  19. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48286      CLOSE_WAIT  4444/java           
  20. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48285      CLOSE_WAIT  4444/java           
  21. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48284      CLOSE_WAIT  4444/java           
  22. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48283      CLOSE_WAIT  4444/java           
  23. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48278      CLOSE_WAIT  4444/java           
  24. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48277      CLOSE_WAIT  4444/java           
  25. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48273      CLOSE_WAIT  4444/java           
  26. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48272      CLOSE_WAIT  4444/java           
  27. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48268      CLOSE_WAIT  4444/java           
  28. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48267      CLOSE_WAIT  4444/java           
  29. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48266      CLOSE_WAIT  4444/java           
  30. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48264      CLOSE_WAIT  4444/java           
  31. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48263      CLOSE_WAIT  4444/java           
  32. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48258      CLOSE_WAIT  4444/java           
  33. tcp        1      0 ::ffff:127.0.0.1:8080       ::ffff:127.0.0.1:48308      CLOSE_WAIT  4444/java
复制代码



隔上一天左右就成这样了,然后网站就访问不了了,看tomcat的catalina.out也没什么异常,谁给个提示

最佳答案

查看完整内容

程序有没有可能呢

论坛徽章:
5
寅虎
日期:2015-01-20 09:16:52亥猪
日期:2015-01-21 14:43:44IT运维版块每日发帖之星
日期:2015-12-17 06:20:00每日论坛发贴之星
日期:2015-12-17 06:20:00每周论坛发贴之星
日期:2015-12-20 22:22:00
2 [报告]
发表于 2010-01-05 09:49 |只看该作者
程序有没有可能呢

论坛徽章:
0
3 [报告]
发表于 2010-01-05 10:16 |只看该作者

回复 #1 gi1et 的帖子

tomcat httpclient CLOSE_WAIT2009-07-02 22:18From:
http://bbs.linuxpk.com/thread-16900-1-1.html
问题终于解决了,   原来不是apache的问题, 是resin上的程序使用了httpclient做为客户端搞的.

netstat -antp的时候, 发现8080端口的CLOSE_WAIT连接都是属于进程java的, 重启resin就释放.

解决办法:   在调用httpclient时加入一行:
httpmethod.setRequestHeader("Connection", "close");
让这个socket在请求完毕后就关闭.

http://tw.myblog.yahoo.com/robin ... =1430&next=1363
***************************************************************************

CLOSE_WAIT狀態的生成原因

如果是CLIENT端主動斷掉當前連接的話,那麼雙方關閉這個TCP連接共需要四個packet:

Client ---> FIN ---> Server

Client <--- ACK <--- Server

這時候Client端處於FIN_WAIT_2狀態;而Server 程序處於CLOSE_WAIT狀態。

Client <--- FIN <--- Server

這時Server 發送FIN給Client,Server 就成為LAST_ACK狀態。

Client ---> ACK ---> Server

Client回應了ACK,那麼Server 才會成為CLOSED狀態。

******************************************************************************
解決方法:
1.(暫時生效,重新啓動 linux 後,會還原成預設值)
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_keepalive_time=1800
sysctl -w net.ipv4.tcp_keepalive_probes=2
sysctl -w net.ipv4.tcp_keepalive_intvl=2

2.(永久生效)
vi /etc/sysctl.conf
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 30
# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800
# 探測次數
net.ipv4.tcp_keepalive_probes=2
# 探測間隔秒數
net.ipv4.tcp_keepalive_intvl=2

編輯完 /etc/sysctl.conf,要重啓network 才會生效
[root@temp /]# /etc/rc.d/init.d/network restart
**********************************************************************************
PS: 發生CLOSE_WAIT 的原因,可能在於程式內 一端的Socket使用close後,另一端的Socket沒有使用close.檢查一下代碼內是否有 Server端在某些異常情況時,沒有關閉Socket,將之修改,應可改正此一問題

论坛徽章:
18
巳蛇
日期:2014-12-03 08:27:5115-16赛季CBA联赛之吉林
日期:2016-04-18 15:24:24qiaoba
日期:2016-06-17 17:41:1615-16赛季CBA联赛之八一
日期:2016-06-20 15:13:1415-16赛季CBA联赛之广夏
日期:2016-06-29 10:38:28极客徽章
日期:2016-12-07 14:03:4015-16赛季CBA联赛之吉林
日期:2017-03-06 13:47:55
4 [报告]
发表于 2010-01-05 10:51 |只看该作者

回复 #2 gamester88 的帖子 回复 #3 ziggler 的帖子

查不出来问题,程序员不认啊

~~~~~~~~~~~~~~~~~~~~~~~~~~
这个看过了,不行的

论坛徽章:
0
5 [报告]
发表于 2010-01-05 10:53 |只看该作者

回复 #4 gilet 的帖子

感觉应该是程序的问题。

找程序员的头,查一下啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP