24 条回复  ·  612 次点击
arloor 小成 2024-10-11 19:37:59
被动关闭方(这里是 linux 服务端)没有调用 socket 的 close 方法,也就是没有发出 FIN 。
所以你 java 应用到底用的啥框架,如果是 spring 应该不会有这种问题。
如果是手搓的,那大概就是没有 close
cppc 小成 2024-10-11 21:58:20
CLOSE_WAIT 一般是你自己没有关闭连接导致的,如果你是自己手搓的 Web 服务端网络框架的话,注意排查一下
oneisall8955 小成 2024-10-11 22:02:04
这是一个好问题,mark
seWindows 小成 2024-10-12 00:32:52
CLOSE_WAIT 是你忘了关了,对端断开是 TIME-WAIT/FIN-WAIT
kangyue9999 小成 2024-10-12 00:45:50
杀死制造请求的人
onesuren 小成 2024-10-12 09:36:37
现在看还是像是后端得问题 。https://blog.csdn.net/u013467442/article/details/90375361
cheng6563 小成 2024-10-12 10:11:28
你 Web 服务是用框架启的吧,框架应该不会忘记 Close 。

翻下 std 有无输出 OOM 错误吧。我是建议直接加 -XX:+ExitOnOutOfMemoryError
seedhk 小成 2024-10-12 13:57:57
CLOSE_WAIT 很明显就是服务端问题
导出线程栈信息,找到所有 CLOSE_WAIT 的线程,看堆栈找对应代码
iceheart 小成 2024-10-12 15:41:43
客户端没连接是因为已经 close 了,
客户端 close 了服务端才有 CLOSE_WAIT
服务端收到断开通知就要 close
CLOSE_WAIT 的字面意思就是 等待(应用程序) 来调用 close
xxxbin 初学 2024-10-13 02:00:44
有意思。那么各位大佬,CLOSE_WAIT 的 tcp 该咋关?
返回顶部