问题描述
- 通过云服务器ECS使用ping命令测试外部IP,发现存在丢包,ping出现如下错误。
ping: sendmsg: Operation not permitted
- 同时,查询服务器的
/var/log/message
日志,发现大量类似如下错误信息。|Aug 4 17:25:37 static1 kernel: TCP: time wait bucket table overflow
问题原因
系统TCP TIME WAIT溢出。
解决方案
- 通过如下命令,可以统计当前的TCP连接数。
netstat -anp |grep tcp |wc -l
- 对比
/etc/sysctl.conf
配置文件中参数net.ipv4.tcp_max_tw_buckets值,看是否有超出情况。 - 如果确认已经超出,则可以编辑
/etc/sysctl.conf
配置文件,根据系统规格,适当调大net.ipv4.tcp_max_tw_buckets参数值。
说明:
- 该参数并非支持无限调高,具体支持的调整值,和服务器的规格(带宽、CPU)有关。
- 如果调高后,还是持续保持,则评估是否是正常业务流量。 如果是正常业务流量,则建议在服务器前端引入负载均衡等服务来进行流量分发,以降低单台服务器的流量负载。
适用于
- 云服务器 ECS
文档内容是否对您有帮助?