存在大量处于TIME_WAIT状态的连接

存在大量处于TIME_WAIT状态的连接

首先通过调用close()发起主动关闭,在发送最后一个ACK之后会进入time_wait的状态,该发送方会保持2MSL时间之后才会回到初始状态。

产生这种结果使得这个TCP连接在2MSL连接等待期间,定义这个连接的四元组(客户端IP地址和端口,服务端IP地址和端口号)不能被使用。

 

阅读全文>>

阅读全文...

Linux实例中出现大量CLOSE_WAIT状态的TCP连接

Linux实例中出现大量CLOSE_WAIT状态的TCP连接

根据实例上的业务量判断CLOSE_WAIT数量是否超出了正常的范围。

建议从业务层面及时判断某个连接是否已经被对端关闭,即在程序逻辑中对连接及时关闭,并进行检查。

 

阅读全文>>

阅读全文...

Linux实例中FIN_WAIT2状态的TCP链接过多

Linux实例中FIN_WAIT2状态的TCP链接过多

在HTTP服务中,Server由于某种原因会主动关闭连接,例如KEEPALIVE超时的情况下。作为主动关闭连接的Server就会进入FIN_WAIT2状态。

在TCP/IP协议栈中,存在半连接的概念,FIN_WAIT2状态不算超时,如果Client不关闭,FIN_WAIT2状态将保持到系统重启,越来越多的FIN_WAIT2状态会致使内核Crash。

 

阅读全文>>

阅读全文...

报“Time wait bucket table overflow”错误

报“Time wait bucket table overflow”错误

参数net.ipv4.tcp_max_tw_buckets可以调整内核中管理TIME_WAIT状态的数量。

当实例中处于TIME_WAIT状态,及需要转换为TIME_WAIT状态的连接数之和超过net.ipv4.tcp_max_tw_buckets参数值时,messages日志中将报“time wait bucket table” 错误,同时内核关闭超出参数值的部分TCP连接。

 

阅读全文>>

阅读全文...

Linux实例NAT哈希表满导致ECS实例丢包

Linux实例NAT哈希表满导致ECS实例丢包

Linux实例出现间歇性丢包,无法连接实例。

通过tracert、mtr等工具排查,外部网络未见异常。同时,在系统日志中重复出现大量类似以下错误信息。

阅读全文>>

阅读全文...

调整Linux实例中limits系统参数的方法

调整Linux实例中limits系统参数的方法

Linux系统的/etc/security/limits.conf配置文件可以对系统资源进行限制,该配置文件用于限制用户可以使用的文件数、线程和内存等资源使用量,从而提高系统稳定性。

该配置文件中的nofile参数为系统中所有用户打开文件数的最大值,/proc/sys/fs/nr_open为系统中单进程可分配的最大文件数,若系统中nofile参数值超过了nr_oepn参数值,则可能导致实例无法被远程连接。

 

阅读全文>>

阅读全文...

Linux实例的文件系统检查与修复

Linux实例的文件系统检查与修复

本文主要介绍如何检查与修复Linux实例的文件系统。

本文以/dev/vdb1为例,对文件系统的检查和修复进行介绍。

 

阅读全文>>

阅读全文...