开发者社区> 问答> 正文

server跑久了Recv queue不断增大如何定位?

server采用tcp协议,一直没有报错,cpu及内存负载也没有大的变化,但是在跑了一段时间后,recv queue开始不断变大,导致部分socket连接失效,这种问题通常有哪些情况?

如下:

tcp 7528 0 192.168.206.131:37919 100.54.38.37:1234 ESTABLISHED off (0.00/0/0)
tcp 7422 0 192.168.206.131:33962 100.54.38.39:1234 ESTABLISHED off (0.00/0/0)
tcp 7846 0 192.168.206.131:50650 100.54.38.38:1234 ESTABLISHED off (0.00/0/0)

展开
收起
a123456678 2016-06-15 14:33:07 1822 0
1 条回答
写回答
取消 提交回答
  • ESTABLISHED off, 很有可能是一个半关闭状态,就是服务端关闭了连接,但是客户端还没响应确认关闭这个操作,但是服务端认为我关闭你了,我不处理你数据了,于是这个recv queue就停在这里了, 可以设置socket 的SO_LINGER参数,让socket关闭的时候立即关闭底层socket

    2019-07-17 19:39:10
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载