Jan
29
2021
Linux实例TCP backlog缓存溢出导致无法远程连接实例
问题描述
在Linux实例内如果存在TCP backlog缓存溢出的现象,可能会影响Linux实例的网络性能,导致实例无法远程连接。
问题原因
可能是以下原因所导致:
-
在
/etc/sysctl.conf
文件中net.core.somaxconn
和net.ipv4.tcp_max_syn_backlog
参数的值设置过低。/etc/sysctl.conf
文件主要保存系统的配置信息,如果参数配置不合理,则会影响Linux实例的网络性能。 - 应用的backlog参数设置不合理。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改
请根据现场情况,选择以下对应的步骤。
修改“/etc/sysctl.conf”文件
- 通过VNC远程登录Linux实例。关于如何远程登录,请参见ECS连接方式概述。
-
执行以下命令,编辑
/etc/sysctl.conf
文件。说明:修改配置文件之前,请先进行备份。
vim /etc/sysctl.conf
-
按A键,请根据现场实际情况调整
net.core.somaxconn
和net.ipv4.tcp_max_syn_backlog
参数的值,按Esc退出编辑模式。输入:wq
,按Enter
,保存并退出。说明:
系统操作界面类似如下。-
:wq
中的冒号:
需要按Shift
+:
键输出。 -
修改
net.core.somaxconn
参数的值本文以1024
为例,现场请根据实际情况调整。 -
修改
net.ipv4.tcp_max_syn_backlog
参数的值本文以5000
为例,现场请根据实际情况调整。
-
-
执行以下命令,使配置生效。
sysctl -p
修改应用的backlog参数
请根据现场业务情况,修改应用的backlog参数。
如果您有其他问题,可以联系北京志远天成阿里云代理商,为您提供一对一专业全面的技术服务,同时新老阿里云会员,均可享受我公司代理商价格,欢迎咨询!
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>
我有话说: