1 TCP连接


主动关闭(active close)的一方
被动关闭(passive close)的一方

2 出现的场景

close_wati 主要发生在 **被动关闭方 **,当主动关闭方因为突然中断,或者请求失败时,会发送fin包(要分手)给被动关闭方,但是被动关闭方因为代码质量原因,无法彻底关闭所需资源,即无法回送fin包给主动关闭方,因此为一直处于close_wait状态。

注:
场景1.当服务器端连接mysql时(或者读写文件流时),突然mysql中断,这时,mysql会在中断后,发送fin包给服务器端,如果服务器端没有关流操作,那就会出现close_wait
场景2.当客户端(比如浏览器)请求服务器时,如果浏览器突然挂掉了,进程死了,那么它就会给服务器端发送fin包,后续和上面一样
场景3.当客户端(比如浏览器)请求服务器时,如果服务器端迟迟不响应给客户端,那么客户端也会给服务器端发送fin包,后续和上面一样

3 出现的原因

被动关闭方没有在代码中对请求进行异常处理。

4 解决办法

4.1 治标

修改Linux系统参数

4.2 治本

排查代码,被动关闭的一方没有对主动关闭方发出的fin包,进行彻底关闭资源,检查代码是否对打开的数据流未进行正常和异常情况下的关闭。

关于close_wait的理解相关推荐

  1. 【Unix 网络编程】TCP状态转换图详解

    TCP协议的三路握手和四次挥手.如下图所示,TCP通信过程包括三个步骤:建立TCP连接通道(三次握手).数据传输.断开TCP连接通道(四次挥手). 这里进一步探究TCP三路握手和四次挥手过程中的状态变 ...

  2. TCP通信过程大讨论

    转载地址:http://www.cricode.com/3568.html 本文通过两个图来梳理TCP-IP协议相关知识.TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道. ...

  3. 老夫整理的Java面经+题目(阿里、腾讯、头条、京东、IBM等等)佛渡有缘人

    # 简介 经过招聘季每个人都会有相当多的面试经历,对我来说把这些写出来一方面是为了学习,另外一方面也希望能够为之后求职的同学提供一定的借鉴意义 我的笔试经历会把主要记得的题目列出来 我的面试经历详细介 ...

  4. Linux网络与进程管理

    本文主要介绍了网络与进程的相关内容以及在Linux上如何进行网络与进程管理,包括以太网介绍,TCP/IP,网络分层模型,IP地址的规划:同时介绍了Linux内核在进程管理方面的相关机制 文章目录 一. ...

  5. 《TCP三次捂手、四次挥手和状态转换详解》

    前言: 本文将讲解TCP三次捂手建立连接,到四次挥手断开连接的过程,并且配合TCP状态转换图解释.解释SYN .seq .ack.FIN的含义和关系.建议读者先理解三捂和四挥后在结合状态转换图看,网络 ...

  6. 关于close_wait状态的理解

    关于close_wait状态的理解 以web服务器产生大量的close_wait状态为例 1.close_wait状态介绍: 客户端主动关闭连接,服务器接收到客户端的FIN,但是还没有发送自己的FIN ...

  7. 系统调优,你所不知道的TIME_WAIT和CLOSE_WAIT

    https://my.oschina.net/fdhay/blog/638631 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT 2016-02-18 大房 大房说 本文是我将最 ...

  8. python close_wait_线上大量CLOSE_WAIT原因深入分析

    这一次重启真的无法解决问题了:一次 MySQL 主动关闭,导致服务出现大量 CLOSE_WAIT 的全流程排查过程. 近日遇到一个线上服务 socket 资源被不断打满的情况.通过各种工具分析线上问题 ...

  9. 通俗大白话来理解TCP协议的三次握手和四次分手

    最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就把看过的一些比较好 ...

最新文章

  1. Windows快捷操作
  2. vs2010下使用ADO.NET Entity Data Model
  3. linux LANG变量 定义系统的主语系环境
  4. adb connect 出现timeout的处理方式
  5. 【MM配置】Movement Type 移动类型创建
  6. 开源混合云:harvester混合应用架构
  7. mysql导出html工具类,如何在codeigniter中将csv文件导入MYSQL,其中包含html标签
  8. 计算机公开课教学反思,语文公开课教学反思
  9. Kotlin学习笔记 第一章开始 第二章 基础
  10. php 二维数组 根据值 找,PHP编程根据二维数组某个字段的值查找值所在的一维数组...
  11. html与css游戏开发工具,分享15个最佳的HTML/CSS设计和开发框架
  12. STM8S103FP6芯片PB_4/PB_5输出问题
  13. R语言-基于集波士顿住房
  14. 关闭445端口即关闭共享文件功能
  15. Matlab产生由正弦波产生方波
  16. 解决手机刷机卡在开机谷歌验证
  17. 蓝旭暑期培训——DOM事件+正则表达式
  18. 总结证书CT:证书透明度
  19. 用wrap加密自己的源代码
  20. python写入文件后读取空白,写入文件无法读取解决方案

热门文章

  1. 三大WEB服务器对比分析(apache ,lighttpd,nginx)
  2. 单机/集群/热备/磁盘阵列(RAID)的区别详解
  3. Rook-ceph(1.8最新版)
  4. 英国Shadow Robot研制世界最先进机器人灵巧手,不断革新解放双手
  5. [发布]箫心Web个人共享服务器2007.1.15.0 DotNetC#2.0开发
  6. grpc keepalive
  7. 海贼王燃烧意志服务器维修,航海王燃烧意志48服-新世界开服时间表_航海王燃烧意志新区开服预告_第一手游网手游开服表...
  8. 蓝桥杯嵌入式--LCD屏幕使用提升
  9. Windows Core Audio 音频开发技术指南
  10. 图文讲解如何使用Gmail绑定域名开通企业邮箱(使用时代互联的域名管理后台)