TCP: time wait bucket table overflow的解决方法
1、问题描述:今天发现服务器日志中/var/log/message中有很多下面的这样的日志,并且es的进程占用cpu资源很高。
然后百度查看了一下TIME_WAIT的值,
[root@hadoop13 ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
发现等待数达到了10000多了。
其实也可以用下面查看相关信息,这里已经是修改后的值了所以看到timewait值下降了。
[root@hadoop13 ~]# ss -s
TCP: time wait bucket table overflow产生原因及影响:
原因是超过了linux系统tw数量的阀值。危害是超过阀值后﹐系统会把多余的time-wait socket 删除掉,并且显示警告信息,如果是NAT网络环境又存在大量访问,会产生各种连接不稳定断开的情况。
2、解决方案:
编辑文件,加入以下内容:
[root@hadoop13 ~]# vim /etc/sysctl.conf
tcp_max_tw_buckets =200000 #改值的默认值是18w
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
# 让参数生效
[root@hadoop13 ~]# sysctl -p
具体每个参数的含义:
net.ipv4.tcp_tw_reuse = 1
表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;net.ipv4.tcp_tw_recycle = 1
表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。net.ipv4.tcp_fin_timeout = 10s
修改系統默认的TIMEOUT时间,默认是60s.
更多关于该参数的博客详解:
https://www.2cto.com/net/201503/381132.html
TCP: time wait bucket table overflow的解决方法相关推荐
- kernel: TCP: time wait bucket table overflow的问题剖析及解决方法
随着访问量的增大,系统默认的承受能力达到上限,这个时候就会报一些异常.比如/var/log/messages中常见的"kernel: TCP: time wait bucket table ...
- TCP: time wait bucket table overflow解决方法
/var/log/messages 中出现大量的 TCP: time wait bucket table overflow 引起该现象的原因是服务器tcp的连接数太多,超出了内和定义的最大数 临时改变 ...
- kernel: TCP: time wait bucket table overflow
/proc/sys/net/ipv4/tcp_max_tw_buckets 文件的值为 400 解决办法:更改 net.ipv4.tcp_max_tw_buckets 这个内核参数 /etc/sysc ...
- Vs定义超大数组时,stack OverFlow的解决方法
定义超大数组时,stack OverFlow的解决方法,当然了这里的数组不仅仅是int,char,double等内置类型,还可以是其他的类,如CString,CButton,CMap等. stack ...
- mysql报错ERROR 1206 (HY000): The total number of locks exceeds the lock table size的解决方法...
1. 问题背景 InnoDB是新版MySQL(v5.5及以后)默认的存储引擎,之前版本的默认引擎为MyISAM,因此,低于5.5版本的mysql配置文件.my.cnf中,关于InnoD ...
- TCP三次握手连接和TCP四次挥手及大量TIME_WAIT解决方法:
1.TCP建立连接,三次握手 建立的TCP连接可靠的连接,必须经过三次握手建立连接才能正式通信彼此传输数数据. 客户端请求服务端建立连接 第一次握手:客户给服务发送一个请求报文SYN, 客户端的状态置 ...
- TCP粘包和拆包问题及其解决方法
含义: TCP 传输协议是面向流的,没有数据包界限,也就是说消息无边界.客户端向服务端发送数据时,可能将一个完整的报文拆分成多个小报文进行发送,也可能将多个报文合并成一个大的报文进行发送.(TCP协议 ...
- stack overflow常见解决方法
stack overflow一般都是堆栈内存不够 情况一:递归次数过多 解决办法:用循环来代替递归一般百分之九十能解决堆栈溢出的问题 情况二:创建的局部变量过多 解决办法:这种情况一般就是因为局部变量 ...
- TCP通信接收数据不完整的解决方法
一.TCP协议.Socket编程流程 TCP/IP协议及socket封装 套接字的编程流程: 二.Send 和 Recv的基本介绍 2.1 Send函数 int send( SOCKET s, con ...
最新文章
- MLS 移动最小二乘
- 小米MixPath复现之旅
- Spring源码-applicationcontext.xml解析过程
- 【收藏】比Xshel更好用的 FinalShell
- 在Qt Designer中使用自定义Widgets小部件
- vue_prop单向数据流
- linux7配置dns服务器,centOS7搭建DNS服务器配置详解
- 开始位置 环状图_上海这个地方新建两所中小学!建筑效果图、出入口、学校位置等信息公布...
- linux 系统下如何进行用户之间的切换
- 纽微特荒唐事:都知道是找人顶罪,竟没人敢指正
- 文件i/o函数 open/close
- 使用Duilib做的程序封装成DLL的显示加载与卸载问题
- 供应链SCOR模型搭建/改进
- mysql msdtc 不支持_MSDTC 服务意外地在 Windows Server 2012 或 Windows Server 2008 R2 SP1 中停止...
- html5全栈工程师招聘,蓝鸥HTML5全栈工程师 高薪就业的利器
- 戴尔CEO迈克尔·戴尔被质疑参与财务丑闻
- 关于爱情——苏格拉底如是说 (转)
- Unity 反转法线,在 Hierarchy 视图对象的快捷菜单中增加 Flip Mesh Normals(反转网格法线)项...
- java ico_Java 读写 ICO 图像
- win32com处理excel数据透视表格式